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

时间:2012-01-19 20:26:16

标签: linux bash shell unix scripting

我试图在一个文件夹中查找可执行文件及其总数,但它显示的总数不是这是我的下面的代码,有人可以帮助我,因为我犯了错误,我只是一个新手试图学习一些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

5 个答案:

答案 0 :(得分:3)

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

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

OR

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

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

答案 1 :(得分:2)

只需删除if结构和echo

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

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

答案 2 :(得分:2)

我想我会做这样的事情:

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

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

答案 3 :(得分:2)

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

找到。 -type f -perm / 111 | wc -l <​​/ p>

答案 4 :(得分:1)

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

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

<(..) process substitution

相关问题