Linux: объединение нескольких файлов, каждая на новой строке
Я использую cat *.txt, чтобы объединить несколько файлов txt в один, но мне нужно, чтобы каждый файл находился в отдельной строке.
Каков наилучший способ объединить файлы с каждым файлом, появляющимся на новой строке?
Ответ 1
просто используйте awk
awk 'FNR==1{print ""}1' *.txt
Ответ 2
Если у вас есть paste, который его поддерживает,
paste --delimiter=\\n --serial *.txt
действительно отличная работа
Ответ 3
Вы можете перебирать каждый файл с помощью цикла for:
for filename in *.txt; do
# each time through the loop, ${filename} will hold the name
# of the next *.txt file. You can then arbitrarily process
# each file
cat "${filename}"
echo
# You can add redirection after the done (which ends the
# for loop). Any output within the for loop will be sent to
# the redirection specified here
done > output_file
Ответ 4
for file in *.txt
do
cat "$file"
echo
done > newfile
Ответ 5
Я предполагаю, что вам нужен разрыв строки между файлами.
for file in *.txt
do
cat "$file" >> result
echo >> result
done