У меня есть два файла.
file1.txt:
Afghans
Africans
Alaskans
...
, где file2.txt
содержит вывод 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: азиатский Наруто
...
Таким образом, вы можете видеть, что он наконец нашел слово "азиат".Но почему он говорит:
Нет такого файла или каталога
?
Есть что-то странное или я что-то здесь упускаю?