Toon posts:

[Linux]Spelen met "wc"

Pagina: 1
Acties:
  • 22 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb bestand 1, en daar heb ik 2 woorden staan. Ik heb bestand 2 en daar staan 3 regels.

Met
: wc -w bestand_1
krijg ik op mijn scherm het aantal woorden en dat is 2.

Met
: wc -l bestand_2
krijg ik op mijn scherm het aantal regels en dat is 3.

Nu wil ik die 2 dingen gaan combineren, dus het aantal woorden maal het aantal regels. Het moet dus op 6 uitkomen. Ik heb het geprobeerd met "expr" en "bc", maar dan krijg ik steeds een syntax error. Weet iemand hoe je dit het beste kunt doen?

Bedankt

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
code:
1
echo $[`cat bestand1| wc -w ` * `bestand2 |wc -l `]

werkt dat?

[ Voor 30% gewijzigd door blaataaps op 19-11-2003 15:22 ]


  • Super_ik
  • Registratie: Maart 2001
  • Laatst online: 27-04 17:36

Super_ik

haklust!

heb je de commando's wel binnen `` gezet?
dat wil zeggen dat ie die eerst uitvoerd

dus dan krijg je #rekenprog `wc -w bestand_1' `wc -l bestand_2' ofzo

8<------------------------------------------------------------------------------------
Als ik zo door ga haal ik m'n dood niet. | ik hou van goeie muziek


Verwijderd

Dat werkt niet, omdat de output van wc is:
code:
1
       2 bestand1

en niet gewoon 2. Maar dit kan je met cut oplossen.
code:
1
2
expr `wc -w bestand1 | cut -b 8` \* `wc -l bestand2 | cut -b 8`
echo $[`wc -w bestand1 | cut -b 8` * `wc -l bestand2 | cut -b 8`]

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Of gewoon 'cat bestand | wc -l ' doen, dan weet wc de filename ook niet

Verwijderd

Topicstarter
Ik ben niet bekend met `cut`, is het mogelijk het te doen zonder cut?

Ik heb van alles geprobeerd, maar blijf die syntaxt error houden.

Ik heb gedaan:

code:
1
expr `wc - w bestand_1` \ * `wc -l bestand_2`


code:
1
expr "wc -w bestand_1" "*" "wc-l bestand_2"


Maar ook:

code:
1
echo wc -w bestand_1 * wc -l bestand_2 | bc


Veel varianten erop, maar krijg of syntax error of andere foutmeldingen...maar dit moet toch mogelijk zijn?

[ Voor 5% gewijzigd door Verwijderd op 19-11-2003 15:32 ]


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Ik heb net al een werkende oplossing gepost, en die van Sjord lijkt me ook prima. Het punt is dat je de filename weghaalt uit de output voordat je rekent. Ook is het handig om foutmeldingen te posten als het niet werkt, hier kunnen we weinig mee 'het werkt niet!'. Met de aanwijzingen (oplossingen zelfs) in dit topic moet je er echt wel uit kunnen komen lijkt me, succes!
Pagina: 1

Dit topic is gesloten.