GNU/Linux >> Linux の 問題 >  >> Linux

ファイルを連結してファイル間に改行を挿入する

私だったら 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

Linux
  1. Linuxでファイルを圧縮および解凍する方法

  2. Catと「>」の違いでファイルをゼロにする?

  3. Ssh –保護されたファイルをサーバー間で1行にコピーしますか?

  1. 値が欠落している新しい行を挿入しますか(na)?

  2. Linux – LinuxホストとWindowsゲスト間でファイルを共有しますか?

  3. デバイスファイルとデバイスドライバーの違い

  1. コマンドライン(bash)の「And」の違い??

  2. Ubuntu と Mac OS X の間でファイルを共有する方法

  3. Linux コマンドラインから S3 アカウントにファイルをアップロードする