
Ich bin auf folgendes Problem gestoßen: Ich muss an einer bestimmten Stelle in jeder Zeile ein Leerzeichen einfügen, um die Daten von
ATOM 1 HT1 GLY 5 10.346 30.927 130.252 0.00 0.00
zu (durch Einfügen eines Leerzeichens in der 12. Spalte)
ATOM 1 HT1 GLY 5 10.346 30.927 130.252 0.00 0.00
Jetzt ist es mir gelungen, dies zu erreichen mit:
cat $INFILE | cut -c-11 > $INFILE.1
cat $INFILE | cut -c12- > $INFILE.2
paste -d ' ' $INFILE.1 $INFILE.2 > $INFILE
Aber gibt es vielleicht eine elegantere Lösung ohne die Verwendung temporärer Dateien?
Dank im Voraus.
Antwort1
Das kannst du sicherlich machen, sed
aber ich weiß perl
es besser ...
perl -p -i -e 's/^(.{12})/$1 /' $INFILE
Später
sed -i -e 's/^.\{12\}/& /' $INFILE