あるファイルから別のファイルに行を挿入する簡単な方法

あるファイルから別のファイルに行を挿入する簡単な方法

10,000行を超える大きなテキストファイルが2つあります。

これに基づいて、各ファイルに1行を含む新しいファイルを作成する必要があります。

ファイル1

  ラインa
  B線
  ラインc
ファイル2

   1号線
   2号線
   3号線

出力

新しいファイル

   ラインa
   1号線
   B線
   2号線
   ラインc
   3号線

答え1

簡単にpaste注文する:

paste -d'\n' file1 file2 > result
  • -d'\n'-\n対応するマージ項目/行間の区切り記号として改行を使用します。

$ cat result
line a
line 1
line b
line 2
line c
line 3

答え2

使用awk:

$ awk '1; { getline <"file1" } 1' file2
line a
line 1
line b
line 2
line c
line 3

またはもう少し詳しく言うと、

$ awk '{ print; getline <"file1"; print }' file2
line a
line 1
line b
line 2
line c
line 3

答え3

使用file descriptors

2 つのファイル記述子を開いて読み込みます。

while read -r -u 4 l1 && read -r -u 5 l2 ; do
echo $l1
echo $l2
done 4<file1 5<file2 > new_file

学生

関連情報