Textstellen in versionierten Projekten mit "sed" ersetzen 0

Posted by fwoeck
on Monday, September 29

Wenn man auf der Kommandozeile sed benutzt, um in allen Dateien auf einmal Textstellen zu ersetzen, muss man die .svn-Pfade ausschließen, weil man sonst die lokale Arbeitskopie aus Sicht der Revisionierung unbrauchbar macht. Ein Workaround mit find und xargs lautet so:

find ./ -type f -name '*rb' | grep -v svn | grep -v vendor | grep -v lib |
                    xargs -iHIER sed -i 's/New \([a-zA-Z]+\)/\1 anlegen/g' HIER

Es besteht aber u.U. die Gefahr, Textstellen an unerwünschten Orten zu ersetzen. Am besten, man wählt die Quellordner einzeln aus:

find ./app -type f | grep -v svn |
                    xargs -iHIER sed -i 's/New \([a-zA-Z]+\)/\1 anlegen/g' HIER

Nachtrag: Es ist zu prüfen, ob dies auch auf git-Repos zutrifft.

Comments

Leave a response

Comment