Mir ist bewusst, dass dies auf allen Zeilen das gewünschte Ergebnis liefert:
sed 's/^\(.\{4\}\)/\1-/' textFile
Aber wie gebe ich ein - nach dem 4. Zeichenplatz NUR in der 5. Zeile ein? Oder noch besser, in einem Zeilenbereich, etwa von 5-7?
Antwort1
Der erste Teil eines sed
Befehls ist eine Bereichsangabe, die angibt, welche Zeile(n) betroffen sein sollen. Wenn kein Bereich angegeben ist, sind standardmäßig alle Zeilen gültig. Also:
sed '5,7s/^\(.\{4\}\)/\1-/' textFile
sollte tun, was Sie wollen.