1. ホーム
  2. linux

[解決済み] 次のコマンドの -print0 の意味を教えてください。

2022-02-15 07:52:06

質問

Macで以下のコマンドを使って文字列を置換しています。 ここで、-print0について質問があります。どのような使い方があるのでしょうか?

find skeleton/src/IO.Swagger/Controllers -name '*.cs'  -print0| xargs -0 sed -i "" "s/namespace IO.Swagger.Controllers/namespace Abc.GroupA.TableLocalService.Controllers/g"

解決方法は?

-print0 , find は、ファイル名をヌル文字(0バイト)で区切ります。 xargs を呼び出す必要があります。 -0 (または --null スクリプトのオプションは長い方が読みやすく、対話型コンソールの使い捨てコマンドには短いものを使うことをお勧めします)。

こうすれば、ファイル名にスペースや改行などの文字を使用することができます。