用包含多行字符串的txt文件的内容替换单词

时间:2013-10-21 05:14:49

标签: sed awk

您好我使用awk时遇到问题,我有两个文件info.txt和final.txt。 info.txt有一个唯一的no和final.txt有名称地址通过电话邮件第二名地址通过电话邮件。

我想用final.txt中的内容替换final.txt中出现的“pass”字样 现在我正在使用它。

awk -v f="info" 'BEGIN {while (getline < f) txt=txt $0 "\n"} /pass/ {sub("pass", txt)}   1' final.txt.tmp > final.txt.tmp

现在,只要在一行中出现“pass”字样,它会将整行替换为我想要替换单词的内容。

由于

1 个答案:

答案 0 :(得分:0)

这可能适合你(GNU sed):

 sed ':a;$!{N;ba};s/\n/\\n/g;s|.*|s/pass/&/g|' info.txt | sed -f - final.txt

这会从info.txt生成一个sed脚本,然后针对final.txt

运行