0

到目前为止,我有这个:

Executables=$(cd $tarchive | awk ‘{print $1 }’ | grep –c ‘d’)

理论上,这会搜索.sh文件并对其进行计数。我想做同样的事情,但对于可执行文件。

4

1 回答 1

0

尝试

Executables=`tar -tvf archive.tar | grep "^...x" | awk '{print $6}'`

说明:

  • ` command` 与$(command)
  • tar -tvf archive.tararchive.tar详细模式列出的内容(获取文件权限所必需的)
  • grep "^...x"获取以三个符号(.代表任何东西)开头的所有行,后跟一个x(意味着这是一个可执行文件)
  • awk '{print $6}'打印第 6 列,在本例中为文件名
于 2013-10-18T05:17:21.900 回答