【发布时间】:2021-06-29 22:09:55
【问题描述】:
我有一个字符串文件,需要在另一个文件中搜索。所以我尝试了以下代码:
#!/bin/bash
while read name; do
#echo $name
grep "$name" file.txt > results.txt
done < missing.txt
回显行确认文件正在被读入变量,但我的结果文件始终为空。在自己的作品上执行 grep 命令,我显然在这里遗漏了一些非常基本的东西,但我已经卡了一段时间,无法弄清楚。
我也试过在变量周围不加引号。有人可以告诉我我错过了什么吗?非常感谢
编辑 - 输入文件是 DOS 格式,将文件格式设置为 unix,现在可以正常工作了
【问题讨论】:
-
还有
fgrep或更近(相同的想法),grep -F -f listile.txt *.txt将在所有.txt文件中搜索filelist.txt中的文本行。阅读man grep了解详情。如果您不想从文件列表中搜索正则表达式,那就更复杂了。祝你好运。 -
@shellter 哦,这很有希望!当我尝试它只返回文件中最后一行的 grep 结果时(带有搜索字符串的文件)