我有很多文件,例如1.txt
,2.txt
等,1.search
,2.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 [^
答案 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
指定的字符视为正则表达式。