如何在混合硬文件夹和符号链接文件夹的目录中查找所有*fastq.gz文件
find命令混合软链接目录搜索无结果的解决办法
你使用的-H参数仅会跟随命令行参数中指定的符号链接路径,不会处理搜索过程中遇到的子目录符号链接,这是命令无返回的核心原因,可通过以下方案排查解决:
- 方案1:替换
-H为-L参数,跟随所有搜索过程中遇到的目录符号链接,命令如下:find -L ./ -maxdepth 2 -name '*fastq.gz'
注:-L会将所有符号链接视为其指向的目标文件/目录处理,你已设置maxdepth=2限制搜索深度,无需担心软链接循环导致的无限遍历问题。 - 方案2:先确认目标文件存在且路径符合深度要求,可临时移除
maxdepth参数测试:find -L ./ -name '*fastq.gz'
如果测试有返回结果,再根据实际的目录层级调整maxdepth的数值即可。 - 方案3:排查文件名匹配规则问题,如果存在后缀大小写不一致、或是后缀为
fq.gz的同类文件,可以使用忽略大小写的匹配参数:find -L ./ -maxdepth 2 -iname '*fastq.gz'
内容的提问来源于stack exchange,提问作者David Z
相关产品推荐
相关产品推荐

