输入文件.txt:
one fffds
two xxxx
three ffff
four ffde
数据文件.txt:
six
seven
我想替换包含two xxxx
在的行输入文件.txt与内容数据文件.txt。输出文件应如下所示:
输出文件.txt:
one fffds
six
seven
three ffff
four ffde
答案1
这对我有用:
sed -n '
/two xxxx/{
rdata_file.txt
d
}
p'
如果该行与表达式匹配,则打印文件的内容并开始下一个循环。否则,将调用第二个命令来打印该行。
在 Perl 中做类似事情的更具可读性的解决方案:
perl -pe '/two xxxx/ and $_=`cat data_file.txt`'