如何使用" grep"命令列出当前目录中用户可执行的所有文件?

时间:2017-05-28 13:29:59

标签: bash ubuntu grep command

我的命令就是这个

 ls -l|grep "\-[r,-][w,-]x*"|tr -s " " | cut -d" " -f9

但是对于结果我获得了所有文件,而不仅仅是用户有权执行的文件(第一个x位被设置为开启)。 我正在运行linux ubuntu

4 个答案:

答案 0 :(得分:1)

您可以将find-perm选项一起使用:

find . -maxdepth 1 -type f -perm -u+x

答案 1 :(得分:0)

不要使用grep。如果您想知道文件是否可执行,请使用test -x。要检查当前目录中的所有文件,请使用find或for循环:

for f in *; do test -f "$f" -a -x "$f" && echo "$f"; done

find . -maxdepth 1 -type f -exec test -x {} \; -print

答案 2 :(得分:0)

awkmatch

一起使用
 ls -l|awk 'match($1,/^...x/) {print $9}'
  • match($1,/^...x/):匹配正则表达式^...x的第一个字段,即搜索以x结尾的所有者权限。

答案 3 :(得分:0)

好的 - 如果你必须使用grep:

def timer():
   labelUn.config(text='Enter the required number of seconds:')
   def launchTimer():
       sec=int(answer.get())
       def launch():
           nonglobal sec
           if sec>0:
              sec -= 1
              labelUn.config(text=sec)
              print(sec)
              root.after(1000, launch)
           if sec<=0:
               labelUn.config(text="that's it!")
               print(sec)
               return
      button1.config(command=launch)

   button1.config(command=launchTimer)