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.
[EMAIL PROTECTED] ~/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
[EMAIL PROTECTED] ~/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
[EMAIL PROTECTED] ~/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