[shellscript] hele zin in variable zetten

Pagina: 1
Acties:

  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 17-02 12:22

zomertje

Barisax knorretje

Topicstarter
Is het mogelijk om een hele zin in een variable te zetten om deze later nog eens te gebruiken:

dit geeft me als output per regel een hele zin:
code:
1
awk '{print $0}' test


deze code:
code:
1
2
3
for i in $(awk '{print $0}' test);do
        echo ${i}
done


geeft me echter alle worden op een aparte regel....

is het mogelijk om een hele zin in de $i te krijgen bij het gebruik van de for lus?

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
code:
1
2
IFS="\n"
export IFS

Verwijderd

Je zegt hier
Voor i in regel 1 van test
doe
echo i

Wat er hier gebeurt is dat ie voor elke i in regel 1 van test een echo uitvoert. En die i is elk los woord.

De vraag is wat je uiteindelijk met dit programma wilt :)
Als je elke regel ge-echoed wilt hebben dan kan je ook een cat test uitvoeren.

  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 17-02 12:22

zomertje

Barisax knorretje

Topicstarter
ik heb al iets gevonden:

cat test | while read i ; do
doe vanalles
done

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 17-02 12:22

zomertje

Barisax knorretje

Topicstarter
Verwijderd schreef op 05 May 2003 @ 10:46:
Je zegt hier
Voor i in regel 1 van test
doe
echo i

Wat er hier gebeurt is dat ie voor elke i in regel 1 van test een echo uitvoert. En die i is elk los woord.

De vraag is wat je uiteindelijk met dit programma wilt :)
Als je elke regel ge-echoed wilt hebben dan kan je ook een cat test uitvoeren.
ik krijg hele zinnen bij mijn eerste stukje code, of dat moet schijn zijn...

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun


  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
zomertje schreef op 05 mei 2003 @ 10:47:
ik heb al iets gevonden:

cat test | while read i ; do
doe vanalles
done
Als je IFS="\n" doet dan kapt hij af op newline en niet op spatie :)
Probeer het maar :)

  • pinball
  • Registratie: Oktober 1999
  • Niet online

pinball

Electric Monk

XTerm schreef op 05 May 2003 @ 10:39:
code:
1
2
IFS="\n"
export IFS
Verrek.. das handig, thx!

Whenever you find that you are on the side of the majority, it is time to reform.


Verwijderd

Als het overigens alleen maar om echo-en gaat van de verschillende inhouden van de var $i binnen de lus dan had je eerste oplossing gewerkt door echo -n te gebruiken (man echo).

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 19:18

Robtimus

me Robtimus no like you

Werkt het niet als je ipv
code:
1
2
3
for i in $(awk '{print $0}' test);do
        echo ${i}
done
het volgende probeert:
code:
1
2
3
for i in `akw '{print $0}' test`; do
        echo $i
doen
?
(da's dus dat accentje op je ~ knop)

More than meets the eye
There is no I in TEAM... but there is ME
system specs

Pagina: 1