2つのファイルがあります。
file1.txt:
Afghans
Africans
Alaskans
...
ここfile2.txt
には、Webページ上のwgetからの出力が含まれているため、非常に雑然としていますが、最初のリストの単語の多くが含まれています。
Bashscript:
cat file1.txt | while read LINE; do grep $LINE file2.txt; done
これは期待どおりに機能しませんでした。なぜだろうと思ったので、ループ内に$ LINE変数をエコーアウトし、スリープ1を追加して、何が起こっているのかを確認しました。
cat file1.txt | while read LINE; do echo $LINE; sleep 1; grep $LINE file2.txt; done
ターミナルでの出力は次のようになります。
アフガニスタン
アフリカ人
アラスカ人
アルバニア人
アメリカ人
grep:中国語:そのようなファイルまたはディレクトリ
はありません
アラビア
人アラブ人アラブ
人/東インド人
:そのようなファイルまたはディレクトリはありません
アルゼンチン
人アルメニア人
アジア
アジア人インド人
:そのようなファイルまたはディレクトリはありません
file2.txt:アジアのナルト
。 ..
つまり、最終的に「アジア」という単語が見つかったことがわかります。しかし、なぜそれは言うのですか:
そのようなファイル、又はディレクトリはありません
?
何か変なことが起こっているのですか、それともここで何かが足りないのですか?