You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多子目录下含空格路径的CSV文件批量复制至指定目录求助

解决含空格的CSV文件批量复制问题

以下几种方法可以处理目录名和文件名含空格的CSV文件批量复制需求:

方法1:直接用find的-exec参数

find . -name '*.csv' -exec cp {} /你的目标目录路径/ \;
-exec会逐个传递找到的文件路径给cp命令,自动处理带空格的路径,不需要额外转义。

方法2:find + xargs(高效批量处理)

如果文件数量很多,用xargs配合null分隔符避免空格分割问题:
find . -name '*.csv' -print0 | xargs -0 cp -t /你的目标目录路径/

  • -print0:让find用null字符分隔每个文件路径,而非空格
  • -0:让xargs识别null分隔符,正确读取带空格的路径
  • -t:让cp先指定目标目录,再接收所有源文件参数,提升效率

方法3:使用rsync命令

rsync对带空格的路径支持友好,还能自动跳过已存在的文件:
rsync -avm --include='*.csv' --exclude='*' . /你的目标目录路径/

  • -a:归档模式,保留文件属性
  • -v:显示复制过程
  • -m:复制完成后排除空目录
  • --include='*.csv':仅匹配CSV文件
  • --exclude='*':排除所有其他文件/目录

注意事项

不要用ls /**/*.csv的输出做批量处理,因为ls的结果会被shell按空格分割,带空格的文件名会被拆成多个错误的路径,导致复制失败。

内容的提问来源于stack exchange,提问作者Jim Macaulay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 23:32:38