合并两个文本文件

合并两个文本文件

我想使用 Linux 终端以某种方式组合两个文本文件,如下所示:规则是我添加两个文件,使得文件 2 的每一行交替出现,但 6 除外,在 6 下,文件 2 中不应有任何行,对于 7 , 2 行应该位于文件 2 的下面

文件一:

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 值一起打印

相关内容