このコマンドを実行してdeploy.phpという名前のファイルを作成し、それらのコピーを作成して、名前deploy_bkp.phpBash:execコマンドを再帰的に検索してコピーしない
find . -type f -name "deploy.php" -exec cp {} deploy_bkp.php \;
しかし、その再帰的に動作していないと。トップディレクトリのファイルに対してのみ動作します。
誰でも助けてくれますか?ありがとうございます
このコマンドを実行してdeploy.phpという名前のファイルを作成し、それらのコピーを作成して、名前deploy_bkp.phpBash:execコマンドを再帰的に検索してコピーしない
find . -type f -name "deploy.php" -exec cp {} deploy_bkp.php \;
しかし、その再帰的に動作していないと。トップディレクトリのファイルに対してのみ動作します。
誰でも助けてくれますか?ありがとうございます
-exec
の代わりに-execdir
を使用してください。 -exec
では、現在のディレクトリはファイルごとに変更されないため、deploy.php
が見つかった場合でも、開始ディレクトリにバックアップファイルが作成されます。 -execdir
は、正しいディレクトリにあらかじめchdirにfindを伝えるので、cp
は期待どおりに動作します。
情報をありがとう。それは働いている –
直接 'cp '{}' ...'を呼び出すのではなく、小さなヘルパースクリプト(例えば、 'cp" $ 1 "" $ 2 "'をヘルパーに作成し、 'mycp'と呼ぶ) 'findを使うことができます。 "%h/deploy_bkp.php"; ' –