複数のディレクトリにあるファイルを実行するスクリプトを作成する方法

複数のディレクトリにあるファイルを実行するスクリプトを作成する方法

複数のディレクトリにあるファイルを実行するスクリプトを作成するには?

問題はこれです:私は多くのディレクトリを持っていますが、各ディレクトリにはa.pyPythonスクリプトで読み込んで分析したいデータファイル(例:)があります。各ディレクトリに「cd」と「a.py」と入力したくありません。出力は各ディレクトリに保存されます。

ベストアンサー1

findあなたに魔法をかけてあげます。

find -name datafile.dat -execdir ~/a.py '{}' \;

find は、すべてのサブディレクトリで一連のルールに一致するファイルを繰り返し検索し、そのファイルに対して操作を実行します。

-name ルールを使用すると、指定した名前と一致する名前のファイルを検索できます。ワイルドカードを使用できます。たとえば、「*.dat」はすべての.datファイルを検索します。

必要に応じて、-nameの代わりに-regexを使用してglobパターンの代わりに正規表現パターンと一致させることができるため、 ". * \ .dat $"を使用してすべての.datファイルと一致させることができます。

-execdir は、見つかったファイルのディレクトリからユーザーが提供するすべてのコマンドを実行し、「{}」を検索したファイルに置き換えます。

おすすめ記事