我想做类似的事情
find . -name "*whatever*" | xargs zip my.zip
但是,如果我找到的文件包含某些字符,则会搞砸,例如文件名中的空格。我想我应该逃避结果。我无法从man find
中完全理解它是否可以为我做到这一点。所以:
- 我能让
find
逃避结果吗? - 如果没有,我应该如何逃脱它们?
正是
针对这种情况进行了空分隔。
可以通过-print0
选项指示find
用NUL
字符(0(分隔其输出。
可以指示xargs
其传入参数将使用-0
选项NUL
分隔。
因此
find . -name "*whatever*" -print0 | xargs -0 zip my.zip