我有兩個文件。「while read do」和grep問題
file1.txt:
Afghans
Africans
Alaskans
...
其中file2.txt
包含網頁上的wget的輸出,所以這是一個大馬虎一塌糊塗,但包含了許多從第一列表中的單詞。
Bashscript:
cat file1.txt | while read LINE; do grep $LINE file2.txt; done
如預期這沒有奏效。我不知道爲什麼,所以我附和了循環中的$行變量,並增加了睡眠1,所以我可以看到發生了什麼事:
cat file1.txt | while read LINE; do echo $LINE; sleep 1; grep $LINE file2.txt; done
輸出看起來在終端看起來是這樣的:
阿富汗人
非洲人
阿拉斯加
阿爾巴尼亞
美國人
的grep:中國:沒有這樣的文件或目錄
:沒有這樣的文件或目錄
阿拉伯人
阿拉伯人
阿拉伯人/東印度人
:沒有這樣的文件或目錄
Argentinans
亞美尼亞
亞洲
印度人
:沒有這樣的文件或目錄
file2.txt:亞洲火影忍者
...
所以你可以看到它終於找到了「亞洲」這個詞。但爲什麼它說:
沒有這樣的文件或目錄
?
有什麼奇怪的事情發生還是我在這裏錯過了什麼?
你只是問問是怎麼回事?或者你是否在尋求解決方案來編寫腳本? – MJB 2011-04-11 19:23:52
我一定想知道爲什麼它不工作,但我打開通過一個工作版本的例子來學習,有意義嗎? – Kevin 2011-04-11 19:30:32