sed 找不到明显存在的文件

sed 找不到明显存在的文件

我运行以下命令,注释掉所有包含文本“dlclose”的行

grep -lIR "dlclose" . | grep -v ".svn" | xargs sed -i "s/.*dlclose.*/\/\/&/g"

但是,sed 声称管道文件不存在:

sed: can't read ./Utilities/src/DynLib.cpp: No such file or directory

这没有任何意义,因为 grep 能够找到并通过管道传输文件名。

这是怎么回事?是不是管道格式错误?


另外,顺便提一下,我想合并这两个 grep,但我被迫使用没有 exclude-dir 的 grep 2.5.1

答案1

如果该文件是指向不存在文件的符号链接,您就会收到错误。

相关内容