![ls 或 find 选项以排除二进制文件](https://linux22.com/image/62068/ls%20%E6%88%96%20find%20%E9%80%89%E9%A1%B9%E4%BB%A5%E6%8E%92%E9%99%A4%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6.png)
如何仅列出当前目录中未编译代码的文件?
我正在检查几个 HPUX 和 Linux 服务器上的自定义脚本和代码,然后再将它们转移到较新的系统。PuTTYPuTTYPuTTYPuTTYPuTTY
当我遇到一个已编译的文件时,我厌倦了查看。
我想对它们进行排序,以便我可以跳过已编译的软件并稍后再回来查看它们。
答案1
它稍微改变了 grep 的使用
grep -r -I -l .
但它会列出当前目录中的所有非二进制文件。主要使用-I
开关来排除二进制文件
答案2
忽略文件时与可执行位设置,我只是使用这个命令:
find . ! -perm -111
为了防止它递归地进入其他目录:
find . -maxdepth 1 ! -perm -111
不需要管道混合很多命令,只需强大的简单命令寻找命令。
附言。也可参考链接到我的另一个答案
答案3
它应该有效,
file * | egrep -v 'ELF|executable' | awk '{print $1}' | sed -e 's/://g' | xargs ls -l