/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
awk fieldseperator?
Fra : Thomas Albech


Dato : 29-05-01 12:10

Hej NG!

Jeg har brug for at erstatte min nuværende fieldseperator (FS) som er et
blankt tegn med et kolon. Hvordan gøres det... Jeg har set på -F i man awk,
men lige lidt hjalp det.

Her er den kommando jeg bruger nu:

ls -l | awk '{print $5FS$9}'


/thomas



 
 
Lars Kongshøj (29-05-2001)
Kommentar
Fra : Lars Kongshøj


Dato : 29-05-01 14:09

Thomas Albech wrote:
> Jeg har brug for at erstatte min nuværende fieldseperator (FS) som er et
> blankt tegn med et kolon. Hvordan gøres det... Jeg har set på -F i man awk,
> men lige lidt hjalp det.

FS er "input field separator", du har brug for at ændre OFS, "output
field separator".

> ls -l | awk '{print $5FS$9}'

Men det nemmeste for dig vil være:

ls -l | awk '{print $5 ":" $9}'

--
Lars Kongshøj

Torben Simonsen (29-05-2001)
Kommentar
Fra : Torben Simonsen


Dato : 29-05-01 15:26

"Thomas Albech" <thomas@albech.dk> writes:

> Jeg har brug for at erstatte min nuværende fieldseperator (FS) som er
> et blankt tegn med et kolon. Hvordan gøres det... Jeg har set på -F i
> man awk, men lige lidt hjalp det.

Med -F sætter du din *input* field separator. Du kan f.eks. adskille
felter i /etc/passwd med "awk -F: ...".

Hvis du vil indsætte vilkårlige adskilletegn i dit *output* så skriver
du bare tegnene i din print-sætning.

> Her er den kommando jeg bruger nu:
>
> ls -l | awk '{print $5FS$9}'

ls -l | awk '{ print $5 ":" $9 }'

.... eller misforstår jeg, hvad det er du vil?

--
-- Torben.

Peter Dalgaard BSA (29-05-2001)
Kommentar
Fra : Peter Dalgaard BSA


Dato : 29-05-01 16:36

Torben Simonsen <ts@biograferne.dk> writes:

> "Thomas Albech" <thomas@albech.dk> writes:
>
> > Jeg har brug for at erstatte min nuværende fieldseperator (FS) som er
> > et blankt tegn med et kolon. Hvordan gøres det... Jeg har set på -F i
> > man awk, men lige lidt hjalp det.
....>
> > Her er den kommando jeg bruger nu:
> >
> > ls -l | awk '{print $5FS$9}'
>
> ls -l | awk '{ print $5 ":" $9 }'
>
> ... eller misforstår jeg, hvad det er du vil?

Ellers er den kanoniske måde at sætte OFS på vist

ls -l | awk 'BEGIN{OFS=":"};{ print $5,$9 }'

--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408888
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste