[自分用メモ][Linux] find: missing argument to `-exec’ が出力されてしまう。

AIX、UNIX、Linux
% find /var/log/trafficserver -name '*.old' -exec gzip {}\;
find: missing argument to `-exec'

簡単なscriptを作っていたところ、上記のようなエラーメッセージが。

ちょいと調べてみると、\;の前にはブランクが必要とのこと。

403 Forbidden

これぐらいで躓くとは本当に情けない。

でもこれならxargsで繋いだほうがいいかなと思ったのだけれど、そもそも-execxargsの違いがわからなかったので、またもWebを検索してみた。

非常に長い引数のリストはコマンドに渡すことが出来ない[1]が、xargsを使うことによって引数リストをシステムが受け入れられるサイズに分割してコマンドに渡してくれる。

http://ja.wikipedia.org/wiki/Xargs

今回のようなミス(といっても自分の注意不足だけれども)のようなことを考えると、xargsを常用するのが良いのかな? 使い分けるなどのような明確な基準があるのだろうか?

とりあえずshell scriptビギナーから脱したいなぁ・・・

タイトルとURLをコピーしました