ファイル1.txt:
1
2
3
4
5
6
ファイル2.txt:
A
B
C
D
E
希望の出力比は3:1(file3.txt)です。
1
2
3
A
4
5
6
B
私が試したコマンド:
sed Rfile2.txt file1.txt >file3.txt
paste -d '\n' file1.txt file2.txt >file3.txt
ベストアンサー1
そしてpaste
:
paste -d '\n' <file1.txt - - - file2.txt
ファイルの 1 つが使い果たされた後でも、他のファイルにまだ行が残っている場合 (例に示すように) 行を出力し続けます。
そしてawk
:
awk '{print}; NR % 3 == 0 {getline < "file2.txt"; print}' file1.txt
またはGNUにsed
対応するもの:
sed '3~3 R file2.txt' file1.txt
今回は使い果たされると停止しますが、使い果たされた場合はfile1.txt
続きます(そして、バリアントでは空行を出力し、GNUバリアントでは何も出力しません)。file2.txt
awk
sed
ファイルがすべて使い果たされたら停止します。
awk '{print}
NR % 3 == 0 {
if ((getline < "file2.txt") <= 0) exit
print
}' file1.txt