私だったら sed を使います:
sed -e '$s/$/\n/' -s *.txt > finalfile.txt
この sed パターンでは、$ には 2 つの意味があります。1 つ目は (パターンを適用する行の範囲として) 最後の行番号のみに一致し、2 つ目は置換パターンの行末に一致します。
sed のバージョンに -s
がない場合 (入力ファイルを個別に処理します) ただし、すべてをループとして実行できます:
for f in *.txt ; do sed -e '$s/$/\n/' $f ; done > finalfile.txt
できること:
for f in *.txt; do (cat "${f}"; echo) >> finalfile.txt; done
ファイル finalfile.txt
を確認してください 上記のコマンドを実行する前に存在しません。
awk
の使用が許可されている場合 あなたができること:
awk 'FNR==1{print ""}1' *.txt > finalfile.txt
それぞれを一覧表示できるほどファイルが少ない場合は、Bash でプロセス置換を使用して、ファイルの各ペアの間に改行を挿入できます。
cat File1.txt <(echo) File2.txt <(echo) File3.txt > finalfile.txt