• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Wie * ersetzen

Hallo,

ich hätte folgenede Frage.

Uch muss in zig-tausenden Dateien in einer einzelnen Zeile etwas ändern. Bisher nutzte ich stehs

grep -rl alt *.format | xargs perl -pi~ -e 's/alt/neu/'


Nun muss ich aber in einer Zeile

wort1 * (der stern ist hier kein Platzhalter, sondern explizit)

durch

wort1 wort2

ersetzen.



Da der * als genereller Platzhalter interpretiert wird, bekomm ich es nicht hin, ihn automatisch zu ersetzen.

Hätte hier jemand eine Idee ?

Vielen vielen Dank

Markus
 
Code:
grep -rl alt *.format | xargs perl -pi~ -e 's/\Qalt\E/neu/'
Kurze Erklärung: Perls RegExes kennen natürlich auch Metazeichen: "/s*/" findet "s", "sx", "sxsdasd" usw. Will man explizit einen Stern finden, muß man die Metazeichen in der RegEx zwischen "\Q" und "\E" setzen.
 
Oben