GNU/Linux >> Linux の 問題 >  >> Linux

ls と grep を使用して実行可能ファイルを見つける

どうしても ls と grep を使用しなければならない場合、これでうまくいきます:

ls -Fla | grep '^\S*x\S*'

最初の単語 (空白以外) に少なくとも 1 つの「x」が含まれる行に一致します。

検索はこれに最適なツールです。これにより、実行可能なすべてのファイル (-type f) が検索されます:

find . -type f -executable

すべての実行可能ファイルを再帰的にリストしたくない場合は、maxdepth を使用します:

find . -maxdepth 1 -type f -executable

ls を使用する必要がありますか? find を使用して同じことを行うことができます:

find . -maxdepth 1 -perm -111 -type f

現在のディレクトリにあるすべての実行可能ファイルを返します。 -maxdepth フラグを削除して、すべての子ディレクトリを走査します。

この恐ろしさを試すこともできますが、パーミッションのように見える文字列を含むファイルと一致する可能性があります。

ls -lsa | grep -E "[d\-](([rw\-]{2})x){1,3}"

おそらくtest -xで?

for f in $(\ls) ; do test -x $f && echo $f ; done

ls の \ は、シェル エイリアスをバイパスします。


for i in `ls -l | awk '{ if ( $1 ~ /x/ ) {print $NF}}'`; do echo `pwd`/$i; done

これにより、実行可能ファイルへの絶対パスが与えられます。


Linux
  1. 検索を使用して複数のファイルの名前を変更するにはどうすればよいですか?

  2. ファイル内の複数の文字列を見つける方法は??

  3. grep を使用してファイル内のコンテンツを検索し、一致する場合は移動します

  1. grep と sed を使用して文字列を検索して置換する

  2. Linux で find コマンドを使用して、スペースのあるファイルを検索して削除する

  3. Unixで人間が読めるファイルを見つける

  1. インデックスを使用してgrepを高速化しますか?

  2. tcpdump – -G、-W、および -C を使用してキャプチャ ファイルをローテーションします

  3. 特定の日付のファイルを検索して削除する