自从我学习了一些 bash 语法后,我就非常热衷于在日常生活中使用它。一个著名的命令是grep
. 如果需要 grep 某些东西但忽略多个文件,则下面的命令可能会起作用。
grep_ignore=("token_a", "token_b")
grep -rnw . -e "token2" | grep -v <(printf '%s\n' "${grep_ignore[@]}")
如何重现:
创建一些虚拟文件夹:命令运行
mkdir dummy & cd dummy
创建文件:
一种。
file_token_a.txt
:命令运行echo "token1 token2" > file_token_a.txt
;b.
file_token_b.txt
: 命令运行echo "token1 token3" > file_token_b.txt
C。
file_token_c.txt
: 命令运行echo "token2 token3" > file_token_c.txt
命令运行:
grep_ignore=("token_a", "token_b")
grep -rnw . -e "token2" | grep -v <(printf '%s\n' "${grep_ignore[@]}")
预期输出:
./file_token_c.txt:1:token2 token3
给定输出:
./file_token_c.txt:1:token2 token3
./file_token_a.txt:1:token1 token2