/ 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
Fra : Rander


Dato : 06-04-05 17:04

En kommando giver fire linier output:

32
0
6:01pm up 56 min, 4 users, load average: 0.14, 0.11, 0.09
debbie.rander.dk

Jeg skal bruge tallet i første linie, altså 32. Så jeg piper outputtet
igennem awk med

kommando | /usr/bin/awk '{print $1}'

Det giver

31
0
5:59pm
debbie.rander.dk

Nej, jeg har aldrig leget med awk før, og man-siden hjælper mig ikke
meget... Hvordan får jeg den til KUN at returnere tallet i den første
linie? (Det behøver ikke at være med awk.)

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Det er absurd at inddele folk i gode og dårlige mennesker.
Folk er enten charmerende eller trættende. (Oscar Wilde)


 
 
Klaus Alexander Seis~ (06-04-2005)
Kommentar
Fra : Klaus Alexander Seis~


Dato : 06-04-05 17:27

Rander skrev:

> En kommando giver fire linier output:
>
> 32
> 0
> 6:01pm up 56 min, 4 users, load average: 0.14, 0.11, 0.09
> debbie.rander.dk
>
> Jeg skal bruge tallet i første linie, altså 32. Så jeg piper outputtet
> igennem awk med
>
> kommando | /usr/bin/awk '{print $1}'
>
> Det giver
>
> 31
> 0
> 5:59pm
> debbie.rander.dk

Awk er linjeorienteret: dét man skriver mellem {} bliver udført for
hver linje af inddata. Din opskrift printer første ord på hver linje,
derfor ser uddata ud som de gør.

For at printe første ord på første linje ud, kan man bruge:

   awk '{ print $1 ; exit }'

Mvh,

--
Klaus Alexander Seistrup
Magnetic Ink, Copenhagen, Denmark
http://magnetic-ink.dk/

Rander (06-04-2005)
Kommentar
Fra : Rander


Dato : 06-04-05 17:51

Wed, 6 Apr 2005 16:26:41 +0000 (UTC) brugte Klaus Alexander Seistrup 35
linier på at fortælle dette til dk.edb.system.unix:

>> kommando | /usr/bin/awk '{print $1}'
>> Det giver
>> 31
>> 0
>> 5:59pm
>> debbie.rander.dk
>Awk er linjeorienteret: dét man skriver mellem {} bliver udført for
>hver linje af inddata. Din opskrift printer første ord på hver linje,
>derfor ser uddata ud som de gør.

Ja, det gik sådan set op for mig... Det var det med at få den til at stoppe
efter første linie jeg ikke kunne finde...

>For at printe første ord på første linje ud, kan man bruge:
>   awk '{ print $1 ; exit }'

Og så virker det! Tak!

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Lad os være taknemmelige for idioterne. Hvis vi ikke havde
dem, ville resten af os ikke blive til noget. (Mark Twain)


Peter Dalgaard (06-04-2005)
Kommentar
Fra : Peter Dalgaard


Dato : 06-04-05 17:28

Rander <ldNOSPAM@rander.dk> writes:

> En kommando giver fire linier output:
>
> 32
> 0
> 6:01pm up 56 min, 4 users, load average: 0.14, 0.11, 0.09
> debbie.rander.dk
>
> Jeg skal bruge tallet i første linie, altså 32. Så jeg piper outputtet
> igennem awk med
>
> kommando | /usr/bin/awk '{print $1}'
>
> Det giver
>
> 31
> 0
> 5:59pm
> debbie.rander.dk

Imponerende. Jeg vidste ikke at awk kunne få tiden til at gå baglæns!


> Nej, jeg har aldrig leget med awk før, og man-siden hjælper mig ikke
> meget... Hvordan får jeg den til KUN at returnere tallet i den første
> linie? (Det behøver ikke at være med awk.)

Var "head -1" så ikke mere oplagt?

--
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

Rander (06-04-2005)
Kommentar
Fra : Rander


Dato : 06-04-05 17:54

06 Apr 2005 18:27:57 +0200 brugte Peter Dalgaard 35 linier på at fortælle
dette til dk.edb.system.unix:

>> 6:01pm up 56 min, 4 users, load average: 0.14, 0.11, 0.09
>> 5:59pm
>Imponerende. Jeg vidste ikke at awk kunne få tiden til at gå baglæns!
>

Jaja - nu havde jeg lige de to outputs på skærmen, så gad jeg ikke køre dem
igen...

>> Nej, jeg har aldrig leget med awk før, og man-siden hjælper mig ikke
>> meget... Hvordan får jeg den til KUN at returnere tallet i den første
>> linie? (Det behøver ikke at være med awk.)
>Var "head -1" så ikke mere oplagt?

Joh, selvfølgelig ville det det - vidste ikke at man kunne give head
negative tal...

For lige at være ekstra besværlig: Head er vel også bedre end awk, rent
performance-mæssigt?

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Den som sladrer til dig, sladrer også om dig. (Arabisk ordsprog)


Kent Friis (06-04-2005)
Kommentar
Fra : Kent Friis


Dato : 06-04-05 18:40

Den Wed, 06 Apr 2005 18:53:47 +0200 skrev Rander:
> 06 Apr 2005 18:27:57 +0200 brugte Peter Dalgaard 35 linier på at fortælle
> dette til dk.edb.system.unix:
>
>>> Nej, jeg har aldrig leget med awk før, og man-siden hjælper mig ikke
>>> meget... Hvordan får jeg den til KUN at returnere tallet i den første
>>> linie? (Det behøver ikke at være med awk.)
>>Var "head -1" så ikke mere oplagt?
>
> Joh, selvfølgelig ville det det - vidste ikke at man kunne give head
> negative tal...

Det er ikke et negativt tal, det er ligesom ls -l og rm -r

Et negativt tal ville være head --1

> For lige at være ekstra besværlig: Head er vel også bedre end awk, rent
> performance-mæssigt?

Om ikke andet så fylder head kun en tiendedel, så du kan spare RAM. Men
awk bruger nu nok også en del CPU-kraft på at fortolke den kode du
skriver (awk er faktisk et helt programmeringssprog), hvor head ved
præcis hvad den skal gøre, og ikke kan andet.

Mvh
Kent
--
Hard work may pay off in the long run, but lazyness pays off right now.

Rander (06-04-2005)
Kommentar
Fra : Rander


Dato : 06-04-05 18:38

Wed, 06 Apr 2005 18:53:47 +0200 brugte Rander 28 linier på at fortælle
dette til dk.edb.system.unix:

>>Var "head -1" så ikke mere oplagt?
>Joh, selvfølgelig ville det det - vidste ikke at man kunne give head
>negative tal...

Okay, det var en tanketorsk...

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Den anden vogn ramte min, uden at give tegn på,
hvad den havde i sinde. (Skadesanmeldelse)


Peter Makholm (06-04-2005)
Kommentar
Fra : Peter Makholm


Dato : 06-04-05 17:47

Rander <ldNOSPAM@rander.dk> writes:

> Jeg skal bruge tallet i første linie, altså 32. Så jeg piper outputtet
> igennem awk med
>
> kommando | /usr/bin/awk '{print $1}'

[...]

> Nej, jeg har aldrig leget med awk før, og man-siden hjælper mig ikke
> meget... Hvordan får jeg den til KUN at returnere tallet i den første
> linie? (Det behøver ikke at være med awk.)

kommando | /usr/bin/awk 'NR == 1 {print $1}'

--
Peter Makholm | Vi smider blade allesammen - hele tiden
peter@makholm.net | som et konstant spirende efterår
http://hacking.dk | Og hele tiden vokser nye frugter frem
| og vi finder nogen til at plukke dem
| -- Tilt, Perkussive popler

Mogens Dybaek Christ~ (06-04-2005)
Kommentar
Fra : Mogens Dybaek Christ~


Dato : 06-04-05 19:27

AWK er et sjovt lille sprog. Når man kender det, er det imponerende
hvad der kan laves på en enkelt linie! Særdeles nyttigt til f. eks. at
efterbehandle en logfil.

Bogen om sproget, "The AWK programming language" er kun på 100 sider,
men så har de også lavet en database undervejs! En gammel bog (> 20
år), men kan vist stadig fås.

AWK er intialerne på de 3 forfattere, K'et er Brian Kernighan, den ene
af fædrene til C-sproget.

Der findes FAQ og tips på nettet, men jeg har ikke lige en link her.

--
Mogens Dybæk Christensen
e-mail mdc at mail dot tele dot dk

Peter Dalgaard (06-04-2005)
Kommentar
Fra : Peter Dalgaard


Dato : 06-04-05 21:33

Mogens Dybaek Christensen <mdc@mail.tele_.dk> writes:

> AWK er et sjovt lille sprog. Når man kender det, er det imponerende
> hvad der kan laves på en enkelt linie! Særdeles nyttigt til f. eks. at
> efterbehandle en logfil.
>
> Bogen om sproget, "The AWK programming language" er kun på 100 sider,
> men så har de også lavet en database undervejs! En gammel bog (> 20
> år), men kan vist stadig fås.

....til 41 UKP hos Amazon.co.uk.

Jeg lærte det fra en artikel der hed "What's the squawk about awk",
som fulgte med HP-UX i c.1985. Jeg ved desværre ikke hvor den
oprindelig stammede fra.

> AWK er intialerne på de 3 forfattere, K'et er Brian Kernighan, den ene
> af fædrene til C-sproget.

...og A'et er Alfred Aho, kendt fra bog_en_ om compiler design,
Aho+Sethi+Ullman.

...og W'et lader til at være blevet et kendt ansigt i visse grupper
http://www.answers.com/topic/peter-j-weinberger

--
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

Michael Knudsen (08-04-2005)
Kommentar
Fra : Michael Knudsen


Dato : 08-04-05 13:55

Mogens Dybaek Christensen wrote:
> AWK er et sjovt lille sprog. Når man kender det, er det imponerende
> hvad der kan laves på en enkelt linie! Særdeles nyttigt til f. eks. at
> efterbehandle en logfil.

awk er skyld i, at jeg endnu ikke har gidet laere Perl.

> Bogen om sproget, "The AWK programming language" er kun på 100 sider,
> men så har de også lavet en database undervejs! En gammel bog (> 20
> år), men kan vist stadig fås.

`Sed & awk' fra O'Reilly er ogsaa vaerd at laese.

--
Rumour is information distilled so finely that it can filter through
anything.
-- (Terry Pratchett, Feet of Clay)

Jesper Louis Anderse~ (08-04-2005)
Kommentar
Fra : Jesper Louis Anderse~


Dato : 08-04-05 16:06

Michael Knudsen <ether@cs.aau.dk> wrote:
> Mogens Dybaek Christensen wrote:
>> AWK er et sjovt lille sprog. N?r man kender det, er det imponerende
>> hvad der kan laves p? en enkelt linie! S?rdeles nyttigt til f. eks. at
>> efterbehandle en logfil.
>
> awk er skyld i, at jeg endnu ikke har gidet laere Perl.

Endnu bedre: awk er skyld i at du kan undgaa perl.


--
jlouis

Stig H. Jacobsen (09-04-2005)
Kommentar
Fra : Stig H. Jacobsen


Dato : 09-04-05 08:35

On Fri, 08 Apr 2005 14:54:44 +0200, Michael Knudsen wrote:

> awk er skyld i, at jeg endnu ikke har gidet laere Perl.

Det er synd, fordi Perl er en del mere end blot et substitut for awk.

--
Stig

Thomas S. Iversen (09-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 09-04-05 08:48

>> awk er skyld i, at jeg endnu ikke har gidet laere Perl.
>
> Det er synd, fordi Perl er en del mere end blot et substitut for awk.

Perl kan også være det værktøj der får spaghettikodere til at føle at de har
fundet det ultimative programmeringssprog på unix!

Thomas

Rander (09-04-2005)
Kommentar
Fra : Rander


Dato : 09-04-05 23:03

09 Apr 2005 07:47:34 GMT brugte Thomas S. Iversen 8 linier på at fortælle
dette til dk.edb.system.unix:

>>> awk er skyld i, at jeg endnu ikke har gidet laere Perl.
>> Det er synd, fordi Perl er en del mere end blot et substitut for awk.
>Perl kan også være det værktøj der får spaghettikodere til at føle at de har
>fundet det ultimative programmeringssprog på unix!

Hvad er en spaghetti-koder!?

--
Lars Rander ** Pil ikke ved min adresse ** :(){ :&:& };:
http://rander.dk (temporarily down!)

Reeza tror ikke på Gud, han tror på Allan. (Kate, 6 år)


Thomas S. Iversen (10-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 10-04-05 07:14

> Hvad er en spaghetti-koder!?

En der producerer spaghettikode.

http://www.objectsspace.com/encyclopedia/index.php/Spaghetti_code

Thomas

Jesper Louis Anderse~ (09-04-2005)
Kommentar
Fra : Jesper Louis Anderse~


Dato : 09-04-05 16:02

Stig H. Jacobsen <stighj-nospam@fjernes_gmail.com> wrote:
>> awk er skyld i, at jeg endnu ikke har gidet laere Perl.
>
> Det er synd, fordi Perl er en del mere end blot et substitut for awk.

Nej. Hvis der skal mere til end lidt simpelt sed+awk oneliner, saa er
Python eller Ruby meget bedre valg end det knopskydningshelvede perl er.

Hvorfor tror du at perl6 er saa forskelligt fra perl5?


--
jlouis

Stig H. Jacobsen (09-04-2005)
Kommentar
Fra : Stig H. Jacobsen


Dato : 09-04-05 19:52

On Sat, 9 Apr 2005 17:02:17 +0200, Jesper Louis Andersen wrote:

> Nej. Hvis der skal mere til end lidt simpelt sed+awk oneliner, saa er
> Python eller Ruby meget bedre valg end det knopskydningshelvede perl er.

> Hvorfor tror du at perl6 er saa forskelligt fra perl5?

Jeg gider ikke debattere om det ene eller andet sprog er snedigst.

For mig, så er Perl et værktøj i sprogværktøjskassen, som også
indeholder mange andre sprog. Jeg vælger et eller flere værktøjer
efter opgavens behov og siden jeg kender de enkelte værktøjers
styrker og svagheder, så er det sjældent svært. Tit er det heller
ikke Perl, som bliver valgt, hvis det kan være nogen trøst.

At være religiøs eller evangelistisk er spild af min tid - ymmv

--
Stig

Thomas S. Iversen (09-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 09-04-05 22:10

> At være religiøs eller evangelistisk er spild af min tid - ymmv

Vise ord! Jeg tilslutter mig helt og holdent!

Thomas

Adam Sjøgren (09-04-2005)
Kommentar
Fra : Adam Sjøgren


Dato : 09-04-05 10:34

On 09 Apr 2005 07:47:34 GMT, Thomas wrote:

> Perl kan også være det værktøj der får spaghettikodere til at føle
> at de har fundet det ultimative programmeringssprog på unix!

Spaghettikode kan skrives i ethvert programmeringssprog. Nogle sprog
gør det så sværere, på bekostning af udtryksfrihed, andre sprog kræver
at man selv aktivt tager stilling til hvad der er pænt og hvad der er
noget rod. Med større frihed følger større ansvar, hvis det ikke skal
ende som udkogt pasta.


,

--
"Lef ma nine imma Jeep" Adam Sjøgren
asjo@koldfront.dk

Thomas S. Iversen (09-04-2005)
Kommentar
Fra : Thomas S. Iversen


Dato : 09-04-05 11:58

> Spaghettikode kan skrives i ethvert programmeringssprog. Nogle sprog
> gør det så sværere, på bekostning af udtryksfrihed, andre sprog kræver
> at man selv aktivt tager stilling til hvad der er pænt og hvad der er
> noget rod. Med større frihed følger større ansvar, hvis det ikke skal
> ende som udkogt pasta.

Enig. Problemet med perl er bare at det startede som noget spaghettikodere
elsker og har udviklet sig til et fint objektorienteret sprog.

Har man nemt ved "falde i", så er perl lykken

Thomas

Adam Sjøgren (09-04-2005)
Kommentar
Fra : Adam Sjøgren


Dato : 09-04-05 12:09

On 09 Apr 2005 10:58:14 GMT, Thomas wrote:

> Har man nemt ved "falde i", så er perl lykken

Yeps. Men på den anden side lærer man så på den hårde måde at
write-only programmer er dumme at lave - nemlig når man, som doven
programmør, kommer tilbage til dem, og ikke kan læse dem. Så får man
på egen krop lært at det er bedre at skrive læselige programmer


Mvh.

--
"Stop blowing holes in my ship!" Adam Sjøgren
asjo@koldfront.dk

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

Månedens bedste
Årets bedste
Sidste års bedste