find组合cp命令拷贝文件
拷贝示例命令如下
find /data/ -type f -name "*.zip" -print0| xargs -0 cp -at ./files/
说明:
-print0
1)是 find 命令的一个选项,用于将输出的文件或目录名用**null 字符(\0)**而不是换行符分隔。
2)默认情况下,find 输出的每个文件名是用换行符 \n 分隔的。
3)但如果某个文件名中包含空格或换行符,那就可能在处理时被误认为是两个文件。
4)-print0 可以避免这个问题,因为 \0 不会出现在合法的 Unix 路径中。
xargs -0
1)表示让 xargs 使用 null 字符 \0 作为输入项之间的分隔符。
2)正常的 xargs 默认使用空格、换行符、制表符等作为分隔符。
3)如果输入中包含这些字符,就会错误地拆分文件名。
4)加上 -0(也写作 --null)后,它会正确地解析 -print0 提供的 null 分隔格式。
cp -t
指定目标路径
删除文件示例
find . -type f -print0 | xargs -0 rm -f
这样即使文件名中包含空格或换行,也能被安全删除。

浙公网安备 33010602011771号