Mailinglist Archive: opensuse-de (1890 mails)
| < Previous | Next > |
Re: Kleines MySQL - Problem ?
- From: David Haller <lists@xxxxxxxxxx>
- Date: Wed, 31 Jan 2007 21:54:26 +0100
- Message-id: <20070131205426.GA5155@xxxxxxxxxxxxxxxxxx>
Hallo,
Am Mit, 31 Jan 2007, Sandy Drobic schrieb:
>Rolf-Hubert Pobloth wrote:
[..]
>/tmp/datei.csv:
>KUNDENKARTE;;;;;
>zeile1-f1;zeile1-f2;zeile1-f3;zeile1-f4;zeile1-f5;zeile1-f6;
>zeile2-f1;zeile2-f2;zeile2-f3;zeile2-f4;zeile2-f5;zeile2-f6;
>KUNDENKARTE;;;;;
>zeile1-f1;zeile1-f2;zeile1-f3;zeile1-f4;zeile1-f5;zeile1-f6;
>zeile2-f1;zeile2-f2;zeile2-f3;zeile2-f4;zeile2-f5;zeile2-f6;
>
>/tmp/insertcounter.sh:
[..]
>counter=0
>cat /tmp/datei.csv| while read line
>do
[..]
>done
*uargs* Sorry Sandy, aber das ist ganz übel... *SCNR*
$ awk 'BEGIN { FS=";"; OFS=";"; }
/KUNDENKARTE/{ cnt++; }
{ $7 = sprintf("%06i", cnt); print; }' /tmp/datei.csv
KUNDENKARTE;;;;;;000001
zeile1-f1;zeile1-f2;zeile1-f3;zeile1-f4;zeile1-f5;zeile1-f6;000001
zeile2-f1;zeile2-f2;zeile2-f3;zeile2-f4;zeile2-f5;zeile2-f6;000001
KUNDENKARTE;;;;;;000002
zeile1-f1;zeile1-f2;zeile1-f3;zeile1-f4;zeile1-f5;zeile1-f6;000002
zeile2-f1;zeile2-f2;zeile2-f3;zeile2-f4;zeile2-f5;zeile2-f6;000002
Beim 'cnt++' bin ich mir nicht sicher, ob das portabel ist, garantiert
gehen würde:
/KUNDENKARTE/{ cnt = cnt + 1; }
oder auch (meist?)
/KUNDENKARTE/{ cnt += 1; }
Im Standard http://www.opengroup.org/onlinepubs/007908799/xcu/awk.html
sind alle drei Varianten drin und mit GNU awk -W traditional
etc. bekomme ich keine Warnungen. Es sollte also auch 'cnt++' portabel
sein.
-dnh
--
274: Nikoma-Newsserver
Museum für prähistorische Gruppen. (Ulrich Mindrup)
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx
Am Mit, 31 Jan 2007, Sandy Drobic schrieb:
>Rolf-Hubert Pobloth wrote:
[..]
>/tmp/datei.csv:
>KUNDENKARTE;;;;;
>zeile1-f1;zeile1-f2;zeile1-f3;zeile1-f4;zeile1-f5;zeile1-f6;
>zeile2-f1;zeile2-f2;zeile2-f3;zeile2-f4;zeile2-f5;zeile2-f6;
>KUNDENKARTE;;;;;
>zeile1-f1;zeile1-f2;zeile1-f3;zeile1-f4;zeile1-f5;zeile1-f6;
>zeile2-f1;zeile2-f2;zeile2-f3;zeile2-f4;zeile2-f5;zeile2-f6;
>
>/tmp/insertcounter.sh:
[..]
>counter=0
>cat /tmp/datei.csv| while read line
>do
[..]
>done
*uargs* Sorry Sandy, aber das ist ganz übel... *SCNR*
$ awk 'BEGIN { FS=";"; OFS=";"; }
/KUNDENKARTE/{ cnt++; }
{ $7 = sprintf("%06i", cnt); print; }' /tmp/datei.csv
KUNDENKARTE;;;;;;000001
zeile1-f1;zeile1-f2;zeile1-f3;zeile1-f4;zeile1-f5;zeile1-f6;000001
zeile2-f1;zeile2-f2;zeile2-f3;zeile2-f4;zeile2-f5;zeile2-f6;000001
KUNDENKARTE;;;;;;000002
zeile1-f1;zeile1-f2;zeile1-f3;zeile1-f4;zeile1-f5;zeile1-f6;000002
zeile2-f1;zeile2-f2;zeile2-f3;zeile2-f4;zeile2-f5;zeile2-f6;000002
Beim 'cnt++' bin ich mir nicht sicher, ob das portabel ist, garantiert
gehen würde:
/KUNDENKARTE/{ cnt = cnt + 1; }
oder auch (meist?)
/KUNDENKARTE/{ cnt += 1; }
Im Standard http://www.opengroup.org/onlinepubs/007908799/xcu/awk.html
sind alle drei Varianten drin und mit GNU awk -W traditional
etc. bekomme ich keine Warnungen. Es sollte also auch 'cnt++' portabel
sein.
-dnh
--
274: Nikoma-Newsserver
Museum für prähistorische Gruppen. (Ulrich Mindrup)
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken
Sie eine Mail an: opensuse-de+help@xxxxxxxxxxxx
| < Previous | Next > |