我想grep除
之外的目录中的所有文件lib
png
和jpg
)我在shell脚本中执行此操作,将参数传递给grep
,没问题。
此命令排除lib
find src \
-name lib -prune -o \
-type f -exec grep -P "$@" {} +
这个图片排除了
find src \
! -name "*.jpg" ! -name ".png" \
-type f -exec grep -P "$@" {} +
汇总为
find src \
-name lib -prune -o \
! -name "*.jpg" ! -name ".png" \
-type f -exec grep -P "$@" {} +
无法排除图像。知道发生了什么吗?
答案 0 :(得分:1)
由于您遗漏了*
中的-name "*.png"
,因此无法排除png图片。
答案 1 :(得分:0)
一种通常有用的方法是在管道之后通过grep过滤结果,这降低了原始命令的复杂性,因此:
找到[简化查找选项] | egrep -v“.jpg | .png”