列出文件但排除 Unix 中的某些目录
List files but exclude certain directories in Unix
我试图递归地列出一个文件夹中包含子文件夹的文件,但尽量避免进入一个文件夹,因为它们是重复的。
这是我运行的命令,但它什么也没做。
ls -lR /opt/elk/data/syslogs | grep -v .log. | grep --exclude-dir="cam" * > /tmp/logs.log
如果我可以对此进行任何更改?
谢谢。
不同版本的选项find
差别很大,不过你可以试试:
find /opt/elk/data/syslogs -name cam -prune -o -print
在 RHEL 上,你可能有 gnu find,如果你想要文件大小和修改时间,你可以尝试:
find /opt/elk/data/syslogs -name cam -prune -o -printf "%p %s %t\n"
我试图递归地列出一个文件夹中包含子文件夹的文件,但尽量避免进入一个文件夹,因为它们是重复的。
这是我运行的命令,但它什么也没做。
ls -lR /opt/elk/data/syslogs | grep -v .log. | grep --exclude-dir="cam" * > /tmp/logs.log
如果我可以对此进行任何更改?
谢谢。
不同版本的选项find
差别很大,不过你可以试试:
find /opt/elk/data/syslogs -name cam -prune -o -print
在 RHEL 上,你可能有 gnu find,如果你想要文件大小和修改时间,你可以尝试:
find /opt/elk/data/syslogs -name cam -prune -o -printf "%p %s %t\n"