findコマンドの-execオプションでよく間違う記述ミス

2015年12月01日 23:06

findコマンドの-execオプションでよく間違う記述ミスについて。

久しぶりに find コマンドを使用して -exec オプションで詳細もみようと以下のように打つと・・・

  • find . -name hogehoge -exec ls -l {}¥;

動かない。

何でだ?

ググってみると「{}」は引数「-exec [command]」で指定したコマンドの引数となるため

スペースで区切らないといけないとのこと。

つまり

  • find . -name hogehoge -exec ls -l {} ¥;

と{}と¥;の間にスペースが必要でした。これだけに10分程は悩んでしまった。

まあxargsの方が好きだもんね。

  • find . -name hogehoge | xargs ls -l

こっちの方が | パイプ渡しできるし検索結果が1000件以上あっても

いい感じに繰り返し実行してくれるのでエラーとならないので

特段理由がなければxargsでやっていきます。そうします。