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

标签 linux text awk sed editing

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

例如,如何实现如下:

文件1.txt:

55
66

文件2.txt:

1
2
3
4
5

我希望在特定行号中将 file1 内容添加到 file2 内容,因此在完成时我将拥有:

文件2.txt:

1
2
3
55
66
4
5

我可以使用“sed”实现吗?或者还有其他方法吗?

最佳答案

使用 awk 可能:

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

那是说... “读取 file2.txt。如果您刚刚读取了第 4 行,则 cat file1.txt。通常,打印所有行- 因为 1 是真的”

或者用 vi 也许:

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

也就是说...“加载 file2.txt。加载后,转到第 4 行,读取 file1.txt。保存并退出”.

关于linux - 将文件中的文本插入到另一个文本文件中的特定行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41036707/

相关文章:

Java 图形对象和滚动 - 最简单的方法?

bash - 如何使用 Bash/Sed/Awk 对文件夹中的每个 gz 运行 RegExp Sub?

awk - 如何在 GDB 中使用管道和 awk 设置变量?

linux - 如何使用 Awk/cut 获取 "/"之间的文本?

linux - 如何在 Linux 上运行的 MATLAB 中使用 Invisible figure 进行 imshow

ruby - 我的流程发生了什么?

c++ - 使用 C++ 就地编辑文本文件

python - Python 列表的输出有问题

linux - 使用 csvfix for linux 对数值进行排序 - 将数字转换为字符串

linux - 网络中需要原始套接字