質問: ディレクトリ内ですべてのバイナリ実行可能ファイルを再帰的に見つける方法は? 次のようにfindコマンドを使用すると、find /mydir/mysubdir -executable -type f すべての実行可能ファイルがリストされ(ディレクトリを除く)、実行可能スクリプトファイル(script.shなど)が含まれます。私がやりたいことは、バイナリ実行可能ファイルのみをリストすることです。
回答: fileユーティリティを試してみてください。マンページによると: マジックテストは、特定の固定フォーマットのデータを含むファイルをチェックするために使用されます。この標準的な例は、バイナリ実行可能ファイル(コンパイル済みプログラム)のa.outファイルで、そのフォーマットはで定義されており、標準のインクルードディレクトリでも定義されています。 正規表現をいじる必要があるかもしれませんが、次のようなものです:$ find -type f -executable -exec file -i '{}' \; | grep 'x-executable; charset=binary' fileにはたくさんのオプションがあるので、manページを詳しく見てみるとよいでしょう。私が見つけた最初のオプションは、grepに変換しやすい出力を出力するように見えました。