我正在尝试组合 2 个查找命令以通过管道传输到 grep 模式匹配。
我的 3 个命令是:
获取最近 24 小时内修改过的文件:
find '/logs' -mtime 0 -type f
忽略几个目录:
find -type d \( -path /dir -o -path /dir2 -o -path /dir3 \) -prune -o -print
在文件行中查找模式:
grep -rnw -e "my pattern"
我已经开始工作,但似乎无法将目录跳跃添加到组合中。
获取过去 24 小时内修改过的文件并在文件行中查找模式:
find '/logs' -mtime 0 -type f | xargs grep -rnwI -e "my pattern"
因此,理想情况下,我想将过去 24 小时内修改的文件与忽略目录结合起来。
最佳答案
find '/logs' ! -path "*/dir1/*" ! -path "*/dir2/*" ! -path "*/dir3/* -mtime 0 -type f | xargs grep -rnwI -e "my pattern"
或
find '/logs' -mtime 0 -type f | egrep -v "dir1|dir2|dir3" | xargs grep -rnwI -e "my pattern"
关于linux - 组合查找命令条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41487699/