web-dev-qa-db-ja.com

すべての実行可能ファイルを見つける方法は? (AIX)

-rwxr--r--    1 me     users             0 May 27 13:58 file_0
-rw-rwxrw-    1 me     users             0 May 27 13:58 file_1
-rw-rw-rwx    1 me     users             0 May 27 13:59 file_2
-rwxrwxrwx    1 me     users             0 May 27 14:02 file_3

現在のディレクトリにある4つのファイルすべてをリストする必要があります

  • AIX
  • non-gnu'find 'なので、 "find .-executable"は機能しません
4
webwesen
find . -type f \( -perm -u=x -o -perm -g=x -o -perm -o=x \)

私のために働いた。他の解決策はありますか?

6
webwesen
_find . -type f -perm +111
_

find(1)から:

-perm [-| +]モード

modeは、シンボリック(chmod(1)を参照)または8進数のいずれかです。 modeがシンボリックである場合、ゼロの開始値が想定され、modeプロセスのファイルモード作成マスクに関係なく、権限を設定またはクリアします。 modeが8進数の場合、ファイルのモードビットのビット07777(_S_ISUID | S_ISGID | S_ISTXT | S_IRWXU | S_IRWXG | S_IRWXO_)のみが比較に参加します。 modeの前にダッシュ( "_-_")が付いている場合、このプライマリは、少なくともすべてのビットがtrueであると評価されます。モードはファイルのモードビットで設定されます。 modeの前にプラス( "_+_")が付いている場合、このプライマリは、modeはファイルのモードビットに設定されます。それ以外の場合、modeのビットがファイルのモードビットと完全に一致する場合、このプライマリはtrueと評価されます。シンボリックモードの最初の文字はダッシュ( "_-_")ではない場合があることに注意してください。

SUSv3では指定されていませんが、少なくとも* BSDとLinux間で移植可能です(他のテストは行っていません)。

5
ephemient

さて、あなたが好きなら Rube Goldbergデバイス 、あなたは使うことができます:


ls -l | grep '^[^d]\(..x\|.\{5\}x\|.\{8\}x\)' | awk '{ print $8 }'

これは現在のディレクトリのみをリストしますが。

0
Gavin McTaggart