在unix文件中的特定位置准确插入数据

在unix文件中的特定位置准确插入数据,unix,Unix,假设我有一个包含如下数据的文件: a b c d a b f g h c d A. B C D 第二个文件数据是: f g h F G H 我想在第一个文件中插入第二个文件,如下所示: a b c d a b f g h c d A. B F G H C D 如何实现这一点?sed可以完成全部工作。将“r”命令的“address”部分指定为regexp,而不是行号(当前必须使用其他工具提取行号): 情况如何?在第三线

假设我有一个包含如下数据的文件:

a b c d a b f g h c d A. B C D 第二个文件数据是:

f g h F G H 我想在第一个文件中插入第二个文件,如下所示:

a b c d a b f g h c d A. B F G H C D
如何实现这一点?

sed可以完成全部工作。将“r”命令的“address”部分指定为regexp,而不是行号(当前必须使用其他工具提取行号):


情况如何?在第三线?在
b
之后?在
c
之前?这听起来像是
sed
awk
perl
的任务。。。或者其他一些脚本语言。这与行号无关。它与b之后和c之前有关@软呢帽;“追加”是指在末尾插入。首先将包含值“b”的准确行号存储在一个变量中。var=
grep-n'b'file1.txt | awk-F:'print$1'| tr-d'\n'
。这给了我$var值为2。然后
sed-i“$var r file2.txt”file1.txt
给出确切的所需结果。还有比这更简单/快捷的方法吗@呜呜