使用带有grep的shell变量

时间:2015-10-03 16:50:01

标签: regex bash grep

我在文本文件中有一个令牌列表,并希望使用grep从包含这些令牌的第二个文本文件中获取行,但似乎无法使用grep访问shell变量:

for n in `cat ./pos/1.txt`
do
cat dictionary.txt | grep "$n"
done

我尝试了$ n,“$ n”,$ {n},“$ {n}”,^ $ {n}和“^ $ {n}”它们似乎都没有用。

由于

2 个答案:

答案 0 :(得分:0)

看起来您正在寻找以下内容:

for n in `cat 1.txt`
do
grep $n dictionary.txt
done

答案 1 :(得分:0)

最好使用-f的{​​{1}}标记,而不是在行上循环:

grep

这将打印与grep -f pos/1.txt dictionary.txt 中的模式匹配的dictionary.txt行。