使用 file 命令统计脚本文件数量

使用 file 命令统计脚本文件数量

我需要使用file命令来计算目录中脚本的数量。

我知道如何使用以下方法获取文件类型file

file test
test: Bourne-Again shell script, ASCII text executable

但是我该如何file计算脚本文件的数量呢?

答案1

脚本文件通常是可执行的,你可以使用 轻松找到目录中的所有可执行文件find。请注意,这些用于查找可执行文件的命令将查找全部可执行文件,而不仅仅是脚本)。

find . -type f -executable

这将在您运行它的目录中找到所有可执行文件。它还将包括子目录中的文件,要忽略子目录,请添加-maxdepth 1如下内容:

find . -maxdepth 1 -type f -executable

现在,这将给出所有文件的列表,而不是文件数量。要获取数量,请将结果通过管道传输到wc -l

find . -type f -executable | wc -l

如果某些文件是脚本文件但不可执行,则可以使用以下命令:

  • 如果只计算当前目录中的文件:

    file -b * | grep " script" | wc -l

  • 如果需要包含子目录中的文件:

    find . -type f -exec file -b {} \; | grep " script" | wc -l

在 grep 命令中的“script”之前添加了一个空格,以避免无效匹配(例如 TIF 文件中的“descriptive”)。

相关内容