sed: String in Datei dynamisch erweitern.

A

aspire_5652

Tripel-As
Hallo.

Ich habe mehere Dateien, welche eine Zeile mit "ID = 123" enthalten.
Diese Zeile muss geändert werden. Die angegebene ID soll immer auf 15 Stellen erweitert werden.
Also:

vorher -> nachher
123 -> 106000000000123
23 -> 106000000000023
3 -> 106000000000003

Die Anzahl der anzufügenden Zeichen ist also abhängig von der bereits gegebenen Zeichenlänge.

Wir kann ich das mit sed machen?
 
Abend,

was spricht dagegen mit mehereren Durchläufen daran zugehn?
Im ersten Durchlauf alles mit 3 Ziffern ändern, dann alles mit 2.

EDIT:
Falls es natürlich mehr als 3 Ziffern sein können würde ich mir an deiner Stelle awk schnappen. Da gibt es die Funktion length und das bisschen Mathe bekommt man damit auch hin.

mfg
HeadCrash
 
Zuletzt bearbeitet:
Mit awk ist das einfach zu lösen:
Code:
/^ID = / {
	printf "ID = 106%012s\n", $3
}
 

Ähnliche Themen

CSV Datei mit sed manipulieren/optimieren/ergänzen

löschen von toten symlinks

K3b bricht Audio-CD-brennen immer ab

Zurück
Oben