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

比如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
いいねを押す +0
PHPzhong

2 つのファイル内の同じデータを比較したい場合は、comm コマンドを使用できます。
特定のデータを含む行を検索する必要がある場合でも、最初にファイル A 内のデータを抽出する必要があります。たとえば、A が 100、200、300 の場合は、egrep '[1-3]00' を使用できます。 b、結果が出ます。
ただし、より複雑なファイル比較の場合は、やはりシェル、awk、または Python を使用して処理することをお勧めします。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!