find(1) の -exec オプションについて (中括弧とプラス記号)

find(1) の -exec オプションについて (中括弧とプラス記号)

次のコマンドを使用して、閉じ括弧({})とプラス記号(+)の正確な目的を説明できますか?

注文から除外した場合、注文操作はどのように異なりますか?

find . -type d -exec chmod 775 {} +

ベストアンサー1

中括弧はコマンドの結果に置き換えられ、findすべてのchmodコマンドで実行されます。できるだけ少ない数のコマンドを実行しようとします+(したがって、、の逆)。それらがなければ、コマンドはエラーを発生させます。すべてそこにいるfindchmod 775 file1 file2 file3chmod 755 file1chmod 755 file2chmod 755 file3man find:

-exec command ;

      実装する注文する;戻り状態が0の場合は真です。以下のすべてのパラメータfind;''で構成された引数が見つかるまで、コマンドの引数として扱われます。文字列 ' {}' は、一部のバージョンと同様に、個々の引数だけでなく、コマンド引数に現れるすべての場所で処理される現在のファイル名に置き換えられます.find。 …

-exec command {} +

      この-execアクションのバリエーションは、選択したファイルに対して指定されたコマンドを実行しますが、コマンドラインは選択した各ファイル名を最後に追加することによって構成されます。コマンドの総呼び出し数は、一致するファイルの数よりはるかに少なくなります。 …

おすすめ記事