尝试使用一个文件中的模式进行grep并在一个大文件上使用它们,然后将结果保存到内部带有模式名称和grep输出的文件,不起作用,创建空文件。
我做错了什么?
while read p; do
grep $p big.txt >>$p
done < patterns.txt
答案 0 :(得分:0)
如评论中所示,您最好引用变量,以便将patterns.txt
文件中的奇怪字符视为文本:
while IFS= read -r p; do
grep "$p" big.txt >> "$p"
done < patterns.txt
有关IFS=
和read -r
的解释,请参阅Read a file line by line assigning the value to a variable。