2010-11-30 9 views
1

Ich möchte jeden dritten und vierten Zeichen eines Strings mit sed ändern oder löschen.Replace nth char mit sed

Zum Beispiel der Text:

abefijmnqruv

Vielen Dank im Voraus:

abcdefghijklmnopqrstuvxz

Sollte zu verwandeln.

+0

Ok, aber wie kann ich es tun, ohne viele Punkte für größere Positionen, 17. und 18. zum Beispiel zu verwenden? – Mauro

Antwort

7
echo abcdefghijklmnopqrstuvxz | sed 's/\(..\)../\1/g' 
+0

Ok, aber wie kann ich es tun, ohne viele Punkte für größere Positionen zu verwenden, zB 17. und 18.? – Mauro

2

Ok, bekam ich die Antwort

Echo abcdefghijklmnopqrstuvxz | Sed 's/\ (. \ {4 \} \). \ {3 \}/\ 1/g'

4 und 3 sind Beispiele ... Dank viel

0
echo "abcdefghijklmnopqr" | sed -n 's/\(..\)\..\([a-z][a-z]*\)/\1\2/p' 
1

Eine weitere Variante mit sed

sed 's/\(.\{2\}\)\(.\{2\}\)/\1/g'