我如何在tar文件中搜索可执行文件并将该数字用作变量?

时间:2013-10-18 04:55:39

标签: bash

到目前为止我有这个:

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

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

1 个答案:

答案 0 :(得分:0)

尝试

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

说明:

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