[Gawk] Een punt in de field separator

Pagina: 1
Acties:

  • Icheb
  • Registratie: Augustus 2001
  • Laatst online: 12-05 18:12
Ik had, tot een half uur geleden, een goed werkend DNS replicatie systeem, totdat iemand besloot een nieuwe domeinnaam toe te voegen met daarin de volgende characters achter elkaar .db, waarbij de punt een willekeurig character is.
Nu wist ik eerlijk gezegd niet dat de punt een wild char was in gawk, maar dat weet ik dus nu wel.

Ik heb het inmiddels geprobeerd te escapen met een \, geprobeerd in octale of hexadecimale getallen te schrijven, maar niets werkt. Gawk blijft het maar als wild char zien.

Het gaat hierbij om de output van:
code:
1
cd /var/named && ls *.db | gawk --field-separator=".db" '{ print $1 }'

Het gaat dus om bestanden zoals <domeinnaam.extensie>.db. Mijn bedoeling is om de domeinnaam, met extensie, maar zonder .db over te houden.

Is er misschien een betere / werkende manier om zoiets op te lossen ?


Korte samenvatting
Volgens een handleiding, gevonden met google:
.
The period, or dot, matches any single character, including the newline character.
Wat dus niet mijn bedoeling is, is er een manier om deze wildcard functie uit te schakelen voor het commando in de code tags ?

sebsoft.nl


Verwijderd

Werkt het volgende misschien???
code:
1
cd /var/named && ls *.db | sed "s/\(.*\)\.db$/\1/"


OK is geen gawk maar sed kan misschien ook.....

edit:

Ik ben een prutser. Edit nummer 1
Ik ben een prutser. Edit nummer 2
Ik ben een prutser. Edit nummer 3

[ Voor 74% gewijzigd door Verwijderd op 12-11-2004 16:36 ]


  • Icheb
  • Registratie: Augustus 2001
  • Laatst online: 12-05 18:12
Sed...

Niet eens over nagedacht eerlijk gezegd. 8)7

Ik heb het, zij het iets aangepast, even geprobeerd voor een paar duizend domeinen, en waar gawk meer dan een seconde of 2 aan bezig is, is sed heel wat sneller. _/-\o_

Ik denk dat ik al mijn zooi maar ga rewriten voor gebruik met sed, het gaat echt veel en veel sneller dan met gawk _/-\o_

sebsoft.nl