申请" grep -v"包含从多个文件到多个文件的模式

时间:2018-01-02 13:26:18

标签: bash shell grep

我有很多文件,例如1.txt2.txt等,1.search2.search等。

如何在所有这些上使用grep -v,而不是每次都写这样的命令?

cat 1.txt | grep -f 1.search -v

cat 2.txt | grep -f 2.search -v

我试过

for i in 1..20 ; do
    grep -v -f /home/DAT/Desktop/Project/data/$i.search \
        /home/DAT/Desktop/Project/input/$i.txt > \
        /home/DAT/Desktop/Project/data/selection/$i.result.txt
done

但是我收到了错误:

grep: Unmatched [ or [^ 

1 个答案:

答案 0 :(得分:1)

使用composer require florianv/open进行固定字符串搜索:

-F

否则for i in {1..20} ; do grep -vFf /home/DAT/Desktop/Project/data/$i.search \ /home/DAT/Desktop/Project/input/$i.txt > \ /home/DAT/Desktop/Project/data/selection/$i.result.txt done 会将输入文件中通过grep指定的字符视为正则表达式