以下命令中-print0的含义是什么

ric*_*ard -1 linux shell

我在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"
Run Code Online (Sandbox Code Playgroud)

Raú*_*udo 5

使用-print0find将使用空字符(零字节)分隔文件名。xargs然后必须使用调用-0(或--null,我建议在脚本中使用长选项,这会增加可读性,并在交互式控制台中保留用于一次性命令的缩写)。

这样,您可以在文件名中使用空格或任何字符,包括换行符。