Toon posts:

[bash] spaties in variabelen behouden in for-loop

Pagina: 1
Acties:

Verwijderd

Topicstarter
Vraagje:

ik wil het 'awk'-commando in een for-loop gebruiken. Korte uitleg:

ik heb een bestandje (namen) waarin bijvoorbeeld staat:

Ik heet kees
Ik heet jan
Ik heet karel

nu wil ik met een shell script (met een for-loop dus) volledige regels uit dit bestandje halen, bijv.:

for i in `cat namen | awk '{print $0}'`
do
echo $i
done

De output die ik nu krijg is:

Ik
heet
kees
Ik
heet
jan
Ik
heet
karel

Probleem is echter dat ik de regels intact wil houden, hoe doe ik dit?

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Hmm, handige topictitel, het heeft voor zover ik kan zien namelijk noch met AIX te maken, noch met awk zelf, maar met de shell die je gebruikt. Probeer eens "" om de $i in echo $i te zetten, en om het commando tussen `` in de for-loop.
code:
1
for i in "`cat namen | awk '{print $0}'`"; do echo "$i"; done
geeft hier volgens mij het gewenste resultaat (in bash, ik weet niet welke shell je gebruikt).

Verwijderd

Topicstarter
Hmm, dan zat ik in de verkeerde richting te denken. Hartelijk dank voor de snelle reactie (en tevens de oplossing)!

  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

* Rataplan moet z'n grote muil dichthouden :'(

[ Voor 103% gewijzigd door Rataplan op 28-01-2004 13:45 ]


Journalism is printing what someone else does not want printed; everything else is public relations.


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Ik heb even de topictitel veranderd, zodat hij de lading dekt, en eventuele zoekerds dit ook vinden :)

  • Rataplan
  • Registratie: Oktober 2001
  • Niet online

Rataplan

per aspera ad astra

blaataaps schreef op 28 januari 2004 @ 13:48:
Ik heb even de topictitel veranderd, zodat hij de lading dekt, en eventuele zoekerds dit ook vinden :)
Mooi :) Alleen moet je er voorlopig geen slotje opzetten (as if), want je oplossing cat de hele file in één keer :> Echo er maar eens een extra string achteraan, die krijg je alleen bij de laatste regel.


Journalism is printing what someone else does not want printed; everything else is public relations.


  • serkoon
  • Registratie: April 2000
  • Niet online

serkoon

mekker.

code:
1
2
3
4
5
6
cat file | 
while read regel do

# hier iets doen

done


Zo doe'k het zelf in m'n 'lowerdir' scriptje :)

[ Voor 18% gewijzigd door serkoon op 28-01-2004 16:26 ]

Pagina: 1