sed kann eine Datei nicht finden, die offensichtlich existiert

sed kann eine Datei nicht finden, die offensichtlich existiert

Ich führe den folgenden Befehl aus, der alle Zeilen auskommentiert, die den Text „dlclose“ enthalten.

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

Allerdings behauptet sed, dass die weitergeleiteten Dateien nicht existieren:

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

Das ergibt keinen Sinn, da grep den Dateinamen finden und weiterleiten konnte.

Was ist hier los? Wird es im falschen Format weitergeleitet?


Außerdem möchte ich die beiden Greps zusammenführen, bin aber gezwungen, Grep 2.5.1 zu verwenden, das kein exclude-dir hat.

Antwort1

Wenn es sich bei der Datei um einen symbolischen Link handelt, der auf eine nicht vorhandene Datei verweist, wird dieser Fehler angezeigt.

verwandte Informationen