2つのテキストファイルをマージする[閉じる]

2つのテキストファイルをマージする[閉じる]

私はLinuxターミナルを使って、次のように2つのテキストファイルを結合したいと思います。ルールは、2つのファイルを追加して、ファイル2のすべての行が6以外を置き換えるようにすることです。この下には 7 の行はありません。 、行2はファイル2の下になければなりません。

ファイル1:

1
2
3
4
5
6
7
8
9
10
11

ファイル2:

a
b
c
d
e
f
g
h
i
j

出力:

1
a
2
b
3
c
4
d
5
e
6
7
f
g
8
h
9
i
10
j
11

答え1

GNU sedの使用:

$ sed -e '6!RFile 2' -e '7RFile 2' File\ 1
1
a
2
b
3
c
4
d
5
e
6
7
f
g
8
h
9
i
10
j
11

答え2

$ awk 'NR==FNR{Arr[NR]=$0;next}{print;if(Arr[FNR]){print Arr[FNR]}}' file2 file1
1
a
2
b
3
c
4
d
5
6

file2を読み取り、値をArrayに保持し、file1の読み取りを開始し、file2の値とともに印刷します。

関連情報