Grundlagen von Linux und der Kommandozeile
$ echo "aaa bab" | sed 's/a/x/'Welche Ausgabe erzeugt der obige sed-Befehl, der Zeichen ersetzt?
- Axaa bab
- Bxaa bxb
- Cxxx bxb
Antwort und Erläuterung anzeigen
Antwort: A. xaa bab
sed ersetzt mit s/vorher/nachher/ in jeder Zeile nur den ersten gefundenen Treffer. Das erste a in dieser Zeile ist das erste Zeichen, also lautet die Ausgabe xaa bab. Um jeden Treffer in der Zeile zu ersetzen, hängt man g (global) an, wie in s/a/x/g; die Ausgabe ist dann xxx bxb. Ersetzt wird zeilenweise: Hat eine Datei mehrere Zeilen, wird auch ohne g in jeder Zeile der erste Treffer ersetzt.
Weiter: 9 weitere Fragen zu Grundlagen von Linux und der Kommandozeile