我有两个文件:
文件A
:date >> /root/kvno.out kvno serverXXX\$ >> /root/kvno.out
文件B
:foobar
我需要创建一个新文件 fileC
,其内容与 fileA
相同,但字符串 XXX
被替换为fileB
的内容:
date >> /root/kvno.out
kvno serverfoobar\$ >> /root/kvno.out
我想使用 sed
来完成此操作。
我尝试了一些找到的示例,但我只获得了 fileC
中 fileB
的内容。
最佳答案
这可能对你有用(GNU sed):
sed '1{h;d};/XXX/{G;s/XXX\(.*\)\n\(.*\)/\2\1/}' fileB fileA >fileC
编辑:
或者:
sed 's|XXX|'$(tr -d '\n' <fileB)'|' fileA >fileC
关于bash - 将一个文件中的字符串替换为第二个文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13483613/