ファイル間に新しい行を保持しながら、ディレクトリ内の複数のテキストファイルを新しいファイルにマージしたいと思います。
答え1
状況によっては、次のように簡単になります。
ファイルをインポートするためのいくつかのワイルドカード(filea、fileb、filecなど)
FILES=`ls file*`
それから接続してください
for i in $FILES; do cat "${i}" >> newfile; echo "" >> newfile; done
答え2
1つの方法は次のとおりです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