我有两个文件。
file1.txt:
Afghans
Africans
Alaskans
...
其中file2.txt
包含从网页上wget获取的输出结果,因此它是一个杂乱无章的大文件,但确实包含了第一个列表中的许多单词。
Bash脚本:
cat file1.txt | while read LINE; do grep $LINE file2.txt; done
这并没有像预期的那样工作。我想知道为什么,所以我在循环内部输出了$LINE变量并添加了一个sleep 1,这样我就可以看到发生了什么:
cat file1.txt | while read LINE; do echo $LINE; sleep 1; grep $LINE file2.txt; done
输出结果在终端上看起来应该是这样的:
所以你可以看到它最终找到了单词 "Asian"。但为什么会显示:阿富汗人
非洲人
阿拉斯加人
阿尔巴尼亚人
美国人
grep: Chinese: 没有那个文件或目录
: 没有那个文件或目录
阿拉伯人
阿拉伯人
阿拉伯人/印度人
: 没有那个文件或目录
阿根廷人
亚美尼亚人
亚洲人
印度裔亚洲人
: 没有那个文件或目录
file2.txt: Asian Naruto
...
?没有那个文件或目录
这里发生了奇怪的事情还是我漏了什么?