(5つの回答)
4年前に閉じられました。
Linuxファイルシステム全体ですべてのPythonファイル(拡張子が .py のファイル)を検索するにはどうすればよいですか? )? find -name filenameができることはわかっています しかし、どうすればファイルタイプに対してそれを行うことができますか?
承認された回答:
すべてのPythonファイルのファイル拡張子が.pyになるわけではありません – grep -rni python / usr / binを実行してみてください 例えば)。これらのスクリプトのほとんどには、「シバン」(またはハッシュバン)行があります(例:#!/ usr / bin / env python 、#!/ usr / bin / python2.7 )。これは、スクリプトを実行するためにどのプログラムを使用する必要があるかをインタプリタに通知します。これを検索して、Pythonファイルを見つけることができます
ただし、ファイルのmimetypeを使用することもできます(通常は text / x-python の行に沿って) )それを見つけるために:
find / -type f | while read in ; do if file -i "${in}" | grep -q x-python ; then echo "${in}" ; fi ; done
/の場所 目的の検索ディレクトリです。
findを使用 -executableを追加することもできます 実行可能ファイルのみを検索するオプション。また、 -type fの使用 検索を制限してファイルのみを検索する–これを変更してから、シンボリックリンクなども表示できます(一部のスクリプトは / usr / libに含まれています など、 / usr / bin /にシンボリックリンクされています など) 。さらに多くのオプションが利用可能です。manfindを実行するとこれらを確認できます。 。
ファイルコード> ファイルに拡張子などがない場合でも(シバンラインなどを使用して)ファイルタイプを推測できるはずです。ここを参照してください。
find:‘/.../FILE’を削除するには:権限が拒否されました エラーなどのエラーが発生した場合は、スクリプトをrootとして実行できます( sudo bash -c "COMMAND" を使用) 、 sudo suでシェルを開く など)、および/または単に 2> / dev / nullを追加します 検索コマンドに移動します。