将文件中的文本插入另一个文本文件中的特定行号

时间:2016-12-08 10:06:17

标签: linux text awk sed editing

如何将文件中的文本插入另一个文本文件中的特定行号? 我被提议使用“sed”,虽然标志“-i”没有选项来指定文本文件,只能“手动”加载文本。

例如,如何实现以下目标:

FILE1.TXT:

55
66

FILE2.TXT:

1
2
3
4
5

我希望将file1内容添加到特定行号中的file2内容,所以在完成后我会:

FILE2.TXT:

1
2
3
55
66
4
5

我可以用“sed”来实现吗?还是有其他方法吗?

2 个答案:

答案 0 :(得分:3)

可能awk

awk 'NR==4{system("cat file1.txt")} 1' file2.txt

那说...... “阅读file2.txt。如果你刚读过第4行,请file1.txt。一般情况下,打印所有行 - 因为1为真”

或者vi可能:

vi -c ':4:r file1.txt' -c ':wq!' file2.txt

那说...... “加载file2.txt。加载后,转到第4行,读入file1.txt。保存并退出”

答案 1 :(得分:1)

这是sed解决方案:

sed '3 r file1.txt' file2.txt