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

查找指定扩展名文件并排除含特定字符串的路径时遭遇IO错误,求解决方法

查找指定扩展名文件并排除含特定字符串的路径时遭遇IO错误,求解决方法

嗨,我来帮你梳理下这个问题~

首先你遇到的这些Input/output error是关键信号,说明find命令在尝试访问那些路径的时候,底层存储出了问题——大概率是对应的磁盘分区有坏道、文件系统损坏,或者这些路径属于挂载的外部存储(比如移动硬盘)但连接不稳定,也有可能是权限限制导致无法读取(不过IO错误更偏向硬件/存储层面)。

给你几个实用的解决思路:

  • 临时规避错误输出,让命令正常执行
    如果暂时不想处理存储的问题,可以把find的错误输出重定向到/dev/null,这样就不会被一堆报错信息干扰了。同时可以优化你的命令,用find原生的参数排除路径,比管道到egrep更高效:

    find . -type f -name "*.exe" ! -path "*games_1*" ! -path "*rei*" ! -path "*games*" ! -path "*tor*" ! -path "*jogos*" ! -path "*mods*" ! -path "*text*" > 1 2>/dev/null
    

    这里的! -path "*xxx*"就是告诉find跳过包含指定字符串的路径,最后2>/dev/null把所有错误信息(包括那些IO错误)扔掉。

  • 排查存储的根源问题
    这些IO错误可不是小问题,容易导致数据丢失,建议你先手动尝试访问那些报错的路径,比如用cd ./NUNO-PC/Disco_2TB_120323/Downloads_070321/My Web Sites/wdsdeewre/2.bp.blogspot.com看看能不能进入,或者用ls查看内容,确认是不是真的无法读取。
    如果是外部磁盘,可以重新插拔试试;如果是本地磁盘,建议用磁盘检测工具(比如smartctl查看磁盘健康状态),或者卸载分区后用fsck检查修复文件系统(注意执行fsck前一定要卸载对应的分区,不然会损坏数据)。

  • 检查输出文件的问题
    你遇到的grep: write error: Input/output error也有可能是输出文件1所在的磁盘空间不足,或者路径没有写入权限。可以用df -h查看当前磁盘的剩余空间,用touch testfile试试能不能在当前目录创建文件,确认写入权限和空间是否正常。

备注:内容来源于stack exchange,提问作者Nuno Fonseca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:39:31