Hallo, Am Wed, 21 Dec 2011, Andreas Miziolek schrieb: [..]
Mir ist aber grad ein Geistesblitz eingeschlagen. Die Lösung funktioniert bestens:
awk -F';' '{ gsub(/00/,"", $4); print }' < csvfile.csv > test.csv
Leider falsch. Das schneidet alle 00 raus, egal wo im 4ten-Feld. Außerdem wird der Feldtrenner geändert. Bsp: $ echo '1;2;3;00010001001;' | awk -F';' '{ gsub(/00/,"", $4); print }' 1 2 3 01011 Korrekt wäre: awk 'BEGIN { FS = OFS = ";"; } { sub(/^0+/, "", $4); print; }' csvfile.csv > test.csv Oder eben: awk 'BEGIN { FS = OFS = ";" } { $4 = sprintf("%d", $4); print; }' csvfile.csv Ich würde tippen, daß die sprintf Variante schneller sein könnte. Müßte man testen. -dnh -- Die Bezeichnung Newbie ist also, wie schon soviele vor mir äußerten, keine Beleidigung sondern einfach eine Zustandsbeschreibung für einen bestimmten Wissensbereich. -- Jens Ott in suse-linux -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org