shell - linux中如何筛选一个文件中的内容在另一个文件中出现过?
巴扎黑
巴扎黑 2017-04-17 16:18:09
0
2
729

比如a文件中有:

100
200
300

b文件中有:

This is 100.
That is 200.
Hello 400.

想取出b文件中符合条件的这两条:

This is 100.
That is 200.

单从linux文件操作的角度有好的实现方法吗?

巴扎黑
巴扎黑

全部回覆(2)
迷茫

執行指令grep -f a b即可
使用awk的话,可以这样awk 'NR==FNR{x[

];next}{for(i in x)if(🎜~i)print}' a b🎜
PHPzhong

如果說是比較兩個檔案中相同的資料的話,可以使用comm指令。
如果說需要找出包含某些資料的行的話,還是要先把A檔案中的資料提取出來,例如A是100,200,300,那麼我們可以用egrep '[1-3]00' b,這樣結果就出來了。
但是涉及一些比較複雜文件對比,還是建議使用shell或awk、python來處理。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!