合并文本并在每个文件之前添加空行

合并文本并在每个文件之前添加空行

我想将目录中的多个文本文件合并到一个新文件中,同时在文件之间保留新行。

答案1

根据具体情况,它可能很简单:

一些通配符来获取你的文件(filea、fileb、filec 等)

FILES=`ls file*`

然后将它们连接起来

for i in $FILES; do cat "${i}" >> newfile; echo "" >> newfile; done

答案2

一种方法是GNU find

td=$(mktemp -d);printf '\n\n' > "$td/2"
find . -maxdepth 1 -type f -exec cat {} "$td/2" \; | head -n -2 > "$td/log"

find获取当前目录中的常规文件并将它们传递给cat也连接有空行文件的文件。最后将输出提供给head删除尾随空行的文件,然后将其存储在日志文件中。

perl -lpe '$\ = eof && !eof() ? "\n\n" : $/' *.files

相关内容