請教
配備下面兩個檔案關鍵字相同的行輸出
[root@10-9-135-73 sample]# cat aaa
1 陳fsf道毅茶葉
1 陳道毅茶葉
1 陳f茶葉
2 陳f葉
3 陳f給i葉
4 陳fs分開
1 陳f分解機毅茶
2 陳fs公
0 陳fs奇偶位
2 俄劇逗逗
2 俄hmhio逗
2 mklgrt
2 俄hkgw
2 俄gkore
2 俄koi009逗
2 俄kt309u0逗
2 俄gkoi03逗
2 俄it90逗
1 芬克爾v逍遙
0 fk迦南
1 mfj遠
1 FK輝二零客機佛i我
1 fkkls越月
0 dfl賢彬
1 dvgw豆豆
1 ff謹茶行
1 e謙方可違法
1 dfef陳諾
0 誠efewew
1 詞濫調陳杏紅
1 言玉
1 菲特
1 荔fds
1 e英俊陳藝銘
1 e陳自多
1 e陳勝強
1 勝felkfo
1 dk耳
[root@10-9-135-73 sample]# cat bbb
陳****道****葉
俄****逗
芬****遙
f****南
m****遠
F****我
f****月
d****彬
d****豆
f****行
e****法
d****諾
誠****w
詞****紅
言****玉
菲****特
荔****s
e****銘
e****多
e****強
勝****o
d****東
[root@10-9-135-73 sample]#
uj5u.com熱心網友回復:
這個只能解決兩個檔案中的相同字串[root@10-9-135-73 sample]# grep -wf bbb aaa
1 言玉
1 菲特
uj5u.com熱心網友回復:
怎么才能解決兩個檔案中只要有兩個關鍵字就可以匹配出aaa檔案中的行輸出
uj5u.com熱心網友回復:
可以把-w去掉,-w的選項的意思是精準查找,就是完全按照bbb中匹配的查找。如果是grep -f bbb aaa 應該就是你想要的結果吧uj5u.com熱心網友回復:
但是grep -f bbb aaa 查找出來的
4 陳fs分開
2 陳fs公
0 陳fs奇偶位
在bbb里沒有的
[root@10-9-135-73 sample]# cat bbb |grep ^陳.*[開]$
[root@10-9-135-73 sample]# cat bbb |grep ^陳.*[公]$
[root@10-9-135-73 sample]# cat bbb |grep ^陳.*[位]$
uj5u.com熱心網友回復:
是否可以使用[root@10-9-135-73 sample]# cat bbb|awk -F "****" '{print $1}'做grep ^(開頭)
和
[root@10-9-135-73 sample]# cat bbb|awk -F "****" '{print $NF}'做grep $(結尾)
?
uj5u.com熱心網友回復:
可以將aaa檔案里的第二列改成bbb的樣子[root@10-9-135-73 sample]# cat aaa |head -5
1 陳fsf道毅茶葉
1 陳道毅茶葉
1 陳f茶葉
2 陳f葉
3 陳f給i葉
[root@10-9-135-73 sample]# cat bbb |head -5
陳****道****葉
俄****逗
芬****遙
f****南
m****遠
[root@10-9-135-73 sample]# grep -Ff bbb ccc
陳****葉 1
陳****葉 1
陳****葉 1
陳****葉 2
陳****葉 3
俄****逗 2
這樣即可
grep -Ff和grep -wf的區別
[root@10-9-135-73 sample]# grep -wf bbb ccc
陳****葉 1
陳****葉 1
陳****葉 1
陳****葉 2
陳****葉 3
俄****逗 2
俄****逗 2
俄****w 2
誠****w 0
它匹配的只是最后的紅色,比如上面
俄****w 2
誠****w 0
bbb檔案中沒有
俄****w
要匹配它也匹配出來了
[root@10-9-135-73 sample]# grep -Ff bbb ccc
陳****葉 1
陳****葉 1
陳****葉 1
陳****葉 2
陳****葉 3
俄****逗 2
俄****逗 2
俄****逗 2
這個就會把所有紅色字體全部匹配出來。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/24282.html
標籤:專題技術討論區
上一篇:中文維基百科獲取與處理流程
下一篇:iptables問題
