私は次のようにフォーラムで提案されたさまざまな形式を使用してきました。
grep -f file1.txt file2.txt > ouput.txt
file1.txt
IDのリストを含む列。例:
15002345234
15001234214
file2.txt
タブで区切られた列が含まれ、1つはIDを含み、もう1つは他の情報を含みます。
1500349850 1 3 father
私は他の投稿から提案されたコマンドawk
だけでなくシェルループも試しました。sed
しかし、本質的に1つのIDに対してのみ結果が得られます。
150982309750 1 2 2 4
また、常に同じで、出力には次のような多くの結果が必要です。
150982309750 1 2 2 4
150563524856 1 3 2 2
150864364612 2 1 2 2
何が間違っているのか、どんなアイデアがありますか?
答え1
私はできます。
-w
単語全体に一致するオプションを追加-F
固定文字列(正規表現ではない)一致のオプションが追加されました。\r\n
file1が行末を使用していないことを確認してください。後続により\r
一致が失敗します。これを確認してくださいhead file1.txt | od -c
grep -wFf <(sed 's/\r$//' file1.txt) file2.txt