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

Bash:使用find命令遍历含尾随空格的目录树

解决Bash Find命令无法识别带尾随空格目录的问题

没问题,这个坑我之前也踩过!其实find命令本身是完全支持包含尾随空格的目录的,问题大多出在我们传递路径参数时的引用方式不对,导致bash把带空格的路径拆成了多个参数,让find找不到正确的目录。

下面给你几个靠谱的解决方案:

  • 直接遍历带空格的目标目录:只要把包含空格(包括尾随空格)的路径用双引号包裹起来,find就能正确识别。比如你提到的那个路径,命令应该写成:

    find "/path/to /file /with /folders /that /contain /whitespaces" -type f -name "file.ext"
    

    双引号会告诉bash把整个字符串当作单个参数,不会拆分空格。

  • 遍历当前目录下的所有路径(含空格):如果是从当前目录开始递归遍历,直接用.作为路径参数就好,根本不用处理空格问题:

    find . -type f -name "file.ext"
    
  • 处理找到的文件时避免踩坑:如果需要对找到的文件执行后续操作(比如-exec),一定要把{}用双引号包裹,确保带空格的路径能正确传递给后续命令:

    find "/path/to /file /with /folders /that /contain /whitespaces" -type f -exec ls -l "{}" \;
    
  • 备选:用反斜杠转义空格:如果不习惯用双引号,也可以在每个空格前加反斜杠转义,但这种方式写起来比较繁琐,适合短路径:

    find /path/to\ /file\ /with\ /folders\ /that\ /contain\ /whitespaces -type f
    

总结一下,核心就是正确引用带空格的路径,不让bash拆分参数,find就能正常遍历所有目录结构啦!

内容的提问来源于stack exchange,提问作者Boris Prohaska

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:48:44