find: missing argument to `-exec'

問題

find コマンドの -exec オプションを実行するとエラーが表示される。

  • コマンド例
$ find  ...  -exec  echo  {};
  • エラー (LANG=C)
find: missing argument to `-exec'
  • エラー (LANG=ja_JP.UTF-8)
find: `-exec' に引数がありません

原因

  • {} と ; の間にスペースが無いため。
  • ; がシェルに解釈されて取り除かれ、書式が正しくなくなったため。

解決策

  • {} と ; の間にスペースを追加する。
  • ; の前に \ を追加する。
$ find  ...  -exec  {}  \;