Mit den beiden mächtigen UNIX-Tools sed und awk Zeichen in Textdateien einfügen.
In die Datei test.txt soll in jeder Zeile ab der 10.Stelle ein Semikolon eingefügt werden und das Ergebnis in eine neue Datei neuedatei.txt geschrieben werden.
Die Version mit awk:
awk '{printf "%s;%s\n", substr($0, 1, 9), substr($0, 10) }' datei.txt > neuedatei.txt
Erklärung: awk bekommt als Kommando ein printf, welches die nachfolgenden 2 Teilstrings ausgibt. Der erste Teilstring reicht dabei von Position 1 bis Position 9 einschliesslich, der zweite Teilstring reicht von Position 10 bis zum Ende der Zeile. Das Ergebnis auf der Standardausgabe wird in die neue Datei umgeleitet.
Die Version mit sed:
sed 's/\(.\{10\}\)/\1;/' datei.txt > neuedatei.txt
Erklärung:
Die Funktion "s" von sed sucht und ersetzt Teilstrings. Die Syntax lautet
Syntax: s/Suchstring/Ersetzungsstring/
Mit \( und \) wird im Suchausdruck eine Zeichenfolge geklammert, auf die
im Ersetzen-Ausdruck mit \1 zurückgeriffen werden kann. Mit dem "." werden beliebige Zeichen angesprochen (regulärer Ausdruck). Mit .\{10\} werden 10 beliebige Zeichen angesprochen. Im Ersetzen-Teil steht dann \1 für die geklammerten ersten 10 Zeichen.
Autor:
![]() |
Bewertung:





Druckansicht | Idee per Mail empfehlen | Idee bewerten



Neuen Kommentar zur Idee schreiben