Am Mittwoch, 14. Dezember 2005 09:47 schrieb Michael Hoeller:
Hallo,
vielen Dank für das Script, scheint genau das zu sein was ich suche. Nur sollte das Ergebnis wie folgt ausssehen: D.h. die Struktur bleibt erhalten und nur die Nummerne ändern sich das ist ab byte 6 in der Länge 10.
FHEAD000000000120051209230059JST THEAD0000000002ASNOut ASNOutCre THDID000000000370000014787000001478 TACNT0000000004 000000000000000000000000 TITEM000000000504029049262596-SKU 0000000 TTAIL00000000060000000005 THEAD0000000007ASNOut
Ich werde mit dem script etwas "spielen" und denke das ich es hinbekomme. Kannst Du evt. die Zeilen kurz kommentieren dann ist das verstehen einfache und dann haben all was davon
------------------------- doit.pl #!/bin/perl -w
while (<>) { chomp; $_ =~ /^(.{6})(.{12})(.*)$/ ; -----------------------10 dan werden nur 10 Zeichen akzeptiert my ($pre, $line, $post) = ($1,$2,$3); printf "%s%012d%s\n", $pre, $., $3; -----------------010%d dann wird die Zahl 10-stellig mit führenden 0 ausgegeben.
}
hab' mich wohl verguckt. bye Jürgen PS: das kann man so auch mit AWK oder SED machen. Wenn es also um "high-performance" geht, d.h. _riessige_ Dateien sollen bearbeitet werden, dann kann die AWK oder gar eine SED-Lösung deutlich schneller sein. -- Dr.rer.nat. Juergen Vollmer, Viktoriastrasse 15, D-76133 Karlsruhe Tel: +49(721) 92 04 87 1 Fax: +49(721) 92 04 87 2 Juergen.Vollmer@informatik-vollmer.de www.informatik-vollmer.de Internet-Telefonie: www.skype.com Benutzer: juergen.vollmer ------------------------------------------------------------------------------- Diese EMail ist elektronisch mittels GPG / PGP signiert. Diese elektronische Unterschrift ist in einem EMail-Anhang enthalten. Leider kann die Signatur ohne die Installation entsprechender Programme weder geprüft noch angezeigt werden. Mehr dazu unter: http://www.gnupg.org oder auch http://www.pgpi.org -------------------------------------------------------------------------------