Linux:合并多个文件,每一个都在一个新行上

我使用cat * .txt将多个txt文件合并为一个文件,但是我需要将每个文件放在一个单独的行中。

合并文件与出现在新行上的每个文件的最佳方法是什么?

只需使用awk

 awk 'FNR==1{print ""}1' *.txt 

如果你有一个支持它的paste

 paste --delimiter=\\n --serial *.txt 

做了一个非常棒的工作

您可以使用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 
 for file in *.txt do cat "$file" echo done > newfile 

我假设你想要在文件之间换行。

 for file in *.txt do cat "$file" >> result echo >> result done