繁体   English   中英

BASH - 计算可执行文件的数量

[英]BASH - counting the number of executable files

我试图找到可执行文件及其总数在一个文件夹中,它的显示但总不是这是我的代码下面,有人可以帮助我,我正在犯错误,我只是一个新手试图学习一些bash脚本希望这是正确的做法,谢谢

#!/bin/bash
To="home/magie/d2"
cd "$To"
find . -type f -perm 755

if 
   find . -type f -perm 755
then
 echo | echo wc -l
fi

如果要查找所有可执行文件,请使用以下命令:

find home/magie/d2 -type f -perm -u+rx | wc -l

要么

find home/magie/d2 -type f -perm +111 | wc -l

这里的所有答案都是仅使用权限755查找文件,但请记住,即使744或700也是用户的可执行文件。

只需删除if结构和echo

#!/bin/bash
To="home/magie/d2"
cd "$To"
find . -type f -perm 755

find . -type f -perm 755 | wc -l

我想我会这样做:

#!/bin/bash
dir=$1
files="$(find $dir -perm 755)"
total=$(wc -l <<< "$files")
echo "$files"
echo "Total: $total"

所需目录必须作为参数在命令行中传递,并且引号用于保留wc稍后需要的换行符以正确计算行数。

使用/ 111查找任何设置了执行位的文件。

找 。 -type f -perm / 111 | wc -l

从命令行开始,一个简单的单行程应该可以解决问题 -

wc -l < <(find /home/magie/d2 -type f -perm 755)

<(..)过程替换

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM