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

使用grep后接xargs执行时出现No such file or directory报错如何解决

解决方案

最优方案(从根源解决问题,无多余报错)

你出现报错的核心原因是xargs -0要求输入的内容以**NULL字符(\0)**作为分隔符,但你前序的grep默认以换行符分隔输出结果,导致xargs将整段输出(包含末尾的换行符)识别为单个文件名,触发不存在报错。
正确的写法是给grep添加-Z参数,让其输出的匹配结果以NULL字符分隔,完美适配xargs -0,可以正确处理所有含空格、换行等特殊字符的文件名:

grep -lrZ 'bash' /tmp | xargs -0 grep 'escape'

仅抑制报错输出的方案

如果你不需要解决根源问题,只想要隐藏No such file or directory这类报错,可以将标准错误流重定向到/dev/null即可:

# 该方法会屏蔽所有错误输出,包括合法的文件读取权限报错等,不推荐日常使用
grep -lr 'bash' /tmp | xargs -0 grep escape 2>/dev/null

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 21:06:11