[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: läsförståelse... scriptning



lasse wrote:

Hej!

Jag har en file som tyvärr har felformat som jag försöker fixxa till, men eftersom att jag dåligt om kunskaper i programering så försöker jag fixa det i bash med sed, awk och cut.
Tyvärr har jag tagit mig lite vatten över huvet.

clacke@acovia ~/slask $ cat felfil.txt
a a:x1:y:z     #fel formaterad
b b:x2:y:z    #fel
c:x3:y:z     #rätt formaterad
d d:x4:y:x    #fel
e:x5:y:z    #rätt
clacke@acovia ~/slask $ sed -e 's/\([^:]*\) \1:\(.*\)/\1:\2/' felfil.txt
a:x1:y:z     #fel formaterad
b:x2:y:z    #fel
c:x3:y:z     #rätt formaterad
d:x4:y:x    #fel
e:x5:y:z    #rätt
clacke@acovia ~/slask $

"\( foobar \)" i sed betyder "Numrera deluttrycket mellan parenteserna".
"\1" betyder "Matcha träffen för första numrerade deluttrycket".

Seduttrycket här betyder alltså:
"Hitta 'x x:y', där x inte innehåller kolon, och ersätt med 'x:y'".

   /Clacke



Reply to: