【问题标题】:Insert text from a file to specific line numbers on another text file将文件中的文本插入另一个文本文件的特定行号
【发布时间】:2017-04-23 12:46:54
【问题描述】:
如何将文件中的文本插入另一个文本文件中的特定行号?
我被提议使用“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”来实现这一点吗?还是有其他方法?
【问题讨论】:
标签:
linux
text
awk
sed
editing
【解决方案1】:
它来了sed 解决方案:
sed '3 r file1.txt' file2.txt
【解决方案2】:
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。保存并退出”。