初心者のWEBデザイン

HTML,CSS、その他WEBデザインに関する事を記述していきます

20150411143621

Terminal Linux findとxargsコマンドを使用する際の注意

findとxargsコマンドで引っかかるエラーの対処法

$ find . -name '*.txt' | xargs rm -R

出力するとファイルが存在するにも関わらず
No such file or directoryとエラーになってしまいます。
これはファイル名にスペースが含まれるケースでエラーが出てしまうようです。
ファイル名にスペースが含まれたファイルを作成し、
findの結果をxargsに渡してrmを実行します。

対処法は下記になります。

$ find . -name '*.bak' -print0 | xargs -0 rm

findコマンドでの、-print0は区切り文字がスペースから \0 に変更されます。
逆にxargsコマンドは、-0オプションを指定されると \0 を区切り文字として扱います。

topへ戻る