加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 查找并替换文件中的单词

发布时间:2020-12-15 21:01:19 所属栏目:安全 来源:网络整理
导读:我有两个文件:file1和file2. file2中的任何匹配都应将“-W”附加到file1中的单词. 文件1: Verb=Applaud,Beg,DeliverAdjective=Bitter,Salty,MintyAdverb=Quickly,Truthfully,Firmly 文件2: GateSaltyExplainQuicklyHookDeliverEarnJonesApplaudTake 输出
我有两个文件:file1和file2.

file2中的任何匹配都应将“-W”附加到file1中的单词.

文件1:

Verb=Applaud,Beg,Deliver
Adjective=Bitter,Salty,Minty
Adverb=Quickly,Truthfully,Firmly

文件2:

Gate
Salty
Explain
Quickly
Hook
Deliver
Earn
Jones
Applaud
Take

输出:

Verb=Applaud-W,Deliver-W
Adjective=Bitter,Salty-W,Minty
Adverb=Quickly-W,Firmly

尝试但不工作,可能需要很长时间:

for i in `cat file2` ; do
nawk -v DEE="$i" '{gsub(DEE,DEE"-W")}1' file1 > newfile
mv newfile file1
done

解决方法

这应该工作:

sed 's=^=s/b=;s=$=b/&;-W/g=' file2 | sed -f- file1

输出:

Verb=Applaud-W,Firmly

要进行更改:

sed 's=^=s/b=;s=$=b/&;-W/g=' file2 | sed --in-place -f- file1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读