(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
を追加します 検索コマンドに移動します。