Beste tweakers,
Dit is de opdracht die ik moet maken:
Om de vreemde tekens eruit te halen gebruik ik
De rest van het script is gelukt, maar dat plaats ik hier liever niet omdat er meer mensen zijn die deze opdracht moetn doen en ik niet graag van fraude beschuldigd wordt
. Het enige probleem is dus dat ie naast de letters ook spatie+aantal keer dat deze voorkomt afdrukt. Met een if( karakter != " " ) werkt het ook niet echt.
Het tweede probleem is het sorteren van een array. Deze array bevat als index de letters a tot en met z met het aantal keer dat ze voorkomen als value. Met knoppix is deze automatisch op alfabetische volgorde gesorteerd, maar als ik inlog op de unix server van de universiteit is deze niet gesorteerd. Op die server gebruiken ze een oudere awk/nawk versie. Daarom wilde ik het voor de zekerheid toch maar coden, maar er is geen built-in functie voor..
Iemand suggesties?
Dit is de opdracht die ik moet maken:
Dit is gelukt, op 2 kleine dingetjes na. Allereerst wil het script de spaties niet verwijderen. Dit geeft wel het resultaat rechtstreeks op de shell:Schrijf een script 'letterhistogram' dat een textfile als argument neemt en
een histogram, dat de relatieve frequenties weergeeft waarin de 26 letters van
het alfabet voorkomen, afdrukt. In het script mag je naast awk ook andere
unix-commando's gebruiken.
Het histogram moet bestaan uit een balkje dat uit '*' characters bestaat. Het
balkje moet een standaard lengte hebben van 60 '*'-characters voor de meest
voorkomende letter. Andere balkjes moeten ten opzichte van deze balk geschaald
worden. De uitvoer moet alfabetisch geordend zijn. Er moet geen onderscheid
gemaakt worden tussen hoofdletters en kleine letters, dus bijv. 'a' en 'A'
worden allebei als 'a' behandeld.
code:
(die reguliere expressie heb ik letterlijk uit de man gehaald), maar in m'n awk script heeft 1
| awk '{ gsub(/[ \t\n]+/,"",$0);print $0}' tekst.txt |
code:
geen resultaat..1
| gsub(/[ \t\n]+/,"",$0) |
Om de vreemde tekens eruit te halen gebruik ik
code:
, dat werkt perfect maar daarmee haalt ie de spaties niet weg (wat toch zou moeten lijkt me).1
| gsub(/[^a-zA-Z]/,"",$0) |
De rest van het script is gelukt, maar dat plaats ik hier liever niet omdat er meer mensen zijn die deze opdracht moetn doen en ik niet graag van fraude beschuldigd wordt
Het tweede probleem is het sorteren van een array. Deze array bevat als index de letters a tot en met z met het aantal keer dat ze voorkomen als value. Met knoppix is deze automatisch op alfabetische volgorde gesorteerd, maar als ik inlog op de unix server van de universiteit is deze niet gesorteerd. Op die server gebruiken ze een oudere awk/nawk versie. Daarom wilde ik het voor de zekerheid toch maar coden, maar er is geen built-in functie voor..
Iemand suggesties?
[ Voor 17% gewijzigd door Verwijderd op 12-05-2003 19:29 ]