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,但我被迫使用 grep 2.5.1,它沒有排除目錄

答案1

如果該文件是指向不存在文件的符號鏈接,則會出現錯誤。

相關內容