0

嗨,我在使用 awk 时遇到问题,我有两个文件 info.txt 和 final.txt。info.txt 有一个唯一的编号,final.txt 有姓名地址通过电话电子邮件第二个姓名地址通过电话电子邮件。

我想用 info.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

现在,每当一行中出现“通过”一词时它会做什么,它将整行替换为我只想替换该单词的内容。

谢谢

4

1 回答 1

0

这可能对您有用(GNU sed):

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

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

于 2013-10-21T07:26:30.023 回答