看了王垠:Unix的缺陷,发现 的
find 和 xargs 各有一个选项:"-print0" 和 "-0"。它们可以让 find 和 xargs 不用空格符,而用 "NULL"(ASCII字符 0)作为文件名的分隔符,这样就可以避免文件名里有空格导致的问题。
man page里的解释:
man xargs
OPTIONS
-0, --null
Input items are terminated by a null character instead of by
whitespace, and the quotes and backslash are not special (every
character is taken literally). Disables the end of file string,
which is treated like any other argument. Useful when input
items might contain white space, quote marks, or backslashes.
The GNU find -print0 option produces input suitable for this
mode.