linux - 在 bash 中将一个文件 append 到另一个文件的中间

标签 linux bash file merge append

我需要将一个文件 append 到另一个文件的特定位置。 我得到了行号,我的文件是:

file1.txt:

I
am
Cookie

第二个是

file2.txt:

a
black
dog
named

所以,解决后,file1.txt应该是这样的

I
am
a
black
dog
named
Cookie

该解决方案应与两个文件中存在的 "/ 等字符兼容。

任何工具都可以,只要它是 native 的(我的意思是,无需安装新软件)。

最佳答案

除了 RavinderSingh13 建议使用 sed 之外的另一个选项: 在特定行之后将 file2.txt 的文本添加到 file1.txt 中:

sed -i '2 r file2.txt' file1.txt

输出:

I
am
a
black
dog
named
Cookie

进一步在匹配模式后添加文件:

sed -i '/^YourPattern/ r file2.txt' file1.txt

关于linux - 在 bash 中将一个文件 append 到另一个文件的中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46423572/

相关文章:

linux - 如何比较同一文件的两个统计值?

bash - 我可以引用我在 bash 中指定的最后一个路径或文件吗?

linux - unix 中的输出变量,换行符为\n

javascript - 绕过 blob 500mb 限制以在磁盘上保存更大的文件

Java:部署到服务器后FileNotFound

java - 为什么我的输出文件是空的?

linux - 如何正确地将 bash 数组传递给 awk

linux - 未找到 Openssl header - 错误

c - 使用 pthread_mutex_lock 时遇到问题

bash - 可以在 bash 子 shell 中调用一个函数作为后台作业吗?