ls 或 find 选项以排除二进制文件

ls 或 find 选项以排除二进制文件

如何仅列出当前目录中未编译代码的文件?

我正在检查几个 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

相关内容