Toon posts:

AWK variable voor de tijd aangeven

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dag beste mensen,

Ik zit met het volgende probleem. Ik heb hieronder het volgende stukje code:

code:
1
{var=6 ; if ($7 < var) print $6,$7,$8,$9}


Ik wil er met deze code voor zorgen dat ik maar een bepaald aantal files laat zien en dan wel kleiner dan de dag. Dit is dus de variable 'var'. Nou heb ik mijn variable aangegeven in het programma, maar ik las op internet dat je doormiddel van awk -v var=6 -f scriptnaam file je variable voor de tijd kan aangeven. Ik heb dit geprobeerd maar dit werkt op een een of andere manier niet bij mij. Zou iemand mij kunnen vertellen hoe dit zit. Ik heb al gezocht hier op GOT en op google en er is zat over te vinden maar kan er niet achter komen waarrom het nu niet werkt. Uiteraard is het logica dat ik var=6 weg heb gelaten. Ik hoop dat jullie me kunnen helpen.

Alvast bedankt

  • thunder7
  • Registratie: Januari 2003
  • Laatst online: 08:51

thunder7

houten vaas/schaal nodig?

denk er aan dat er geen spatie tussen moet:

awk -vvar=waarde -f file.awk

hout-nerd - www.hetmooistehout.nl of www.houtenschalen.nl


Verwijderd

Topicstarter
Hmmz, thnx, ga ik straks effen proberen. Ben nu namelijk effen mijn zalman fancontroller aan het inbouwen. Als het gelukt is post ik het effen.

Verwijderd

Topicstarter
Eey thunder7 ik heb het zojuist effen geprobeerd en het volgende ingetypt:
code:
1
awk -vvar=6 -f new lijst


Hierbij is dus 'new' mijn bestand en 'lijst' mijn tekstdocje waarin ik mijn 'ls -l' heb opgeslagen. Maarre vreemd genoeg krijg ik nu gewoon niks te zien hieronder zie je effen kort wat ik heb gedaan en wat het resultaat is:

code:
1
2
bash-2.05$ awk -vvar=6 -f new lijst
bash-2.05$

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 12-02 21:43

odysseus

Debian GNU/Linux Sid

Iets als het volgende werkt hier wel, dus op zich is de -v-optie wel goed:
code:
1
2
kde3@odysseus:~$ echo | awk -vvar=6 '{print var}'
6

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


Verwijderd

Topicstarter
odysseus schreef op donderdag 07 april 2005 @ 20:33:
Iets als het volgende werkt hier wel, dus op zich is de -v-optie wel goed:
code:
1
2
kde3@odysseus:~$ echo | awk -vvar=6 '{print var}'
6
Ik heb net even jouw code uitgeprobeerd, maar hij geeft nog niets aan. Ik hoop dat er nog mensen zijn met andere ideen waarom het niet zou kunnen werken bij mij.

Heeft het er misschien ook mee te maken dat ik via putty inlog op de unix server van school. Dat dat via een afstandje niet werkt. Gegroet

[ Voor 43% gewijzigd door Verwijderd op 07-04-2005 21:08 ]


Verwijderd

Topicstarter
Beste mensen, naar nog een tijdje zoeken op het internet ben ik er toch eindelijk achtergekomen via een duitse site. Het bleek dat je de variable achter je programma moest declareren. Hieronder het voorbeeld:
code:
1
awk -f new var=6 lijst

Ik wil jullie in iedergeval bedanken voor het meehelpen aan het oplossen van dit probleem.

Gegroet,

4cIdBurn

  • _JGC_
  • Registratie: Juli 2000
  • Nu online
Je wilt awk gebruiken om bestanden van een bepaalde leeftijd te filteren?

kijk eens in de manpage van find, die kan veel meer dan alleen ls output aanpassen ;)
Pagina: 1