Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / School & Studie / Huiswerkvragen: Exacte vakken
Reageren
 
Topictools Zoek in deze topic
Oud 16-10-2006, 13:07
wp160366
wp160366 is offline
Hallo allemaal,

Iemand die hiermee kan helpen?

Probeer de letters van het woord “COMPUTERGEBRUIK” alfabetisch te rangschikken, zonder daarbij manueel letters te verplaatsen.
Je moet dus vi het werk laten doen door gebruik te maken van (een viertal) commando’s.
Tip: Ga na wat de volgende commando’s doen:
:1,$ !sort
:1,$j!

Alvast bedankt!
__________________
I love hardware and multimedia
Met citaat reageren
Advertentie
Oud 16-10-2006, 13:31
WelVrolijk
WelVrolijk is offline
Ik weet niet wat dat !sort commando doet, maar ik neem aan dat dat de opgegeven regels alfabetisch sorteert.

In dat geval zul je dus eerst elke letter moeten vervangen door letter + regeleinde,
vervolgens de regels sorteren,
en tenslotte die regeleindes weer verwijderen.

Maar dat werkt natuurlijk alleen, indien dat woord het enige is wat in het bestand staat...
Met citaat reageren
Oud 26-10-2006, 14:18
wp160366
wp160366 is offline
Citaat:
WelVrolijk schreef op 16-10-2006 @ 14:31 :
Ik weet niet wat dat !sort commando doet, maar ik neem aan dat dat de opgegeven regels alfabetisch sorteert.

In dat geval zul je dus eerst elke letter moeten vervangen door letter + regeleinde,
vervolgens de regels sorteren,
en tenslotte die regeleindes weer verwijderen.

Maar dat werkt natuurlijk alleen, indien dat woord het enige is wat in het bestand staat...
Hallo,
Bedankt voor je antwoord, en sorry dat ik maar zo laat kan reply'en.

Dit woord is inderdaad het enige in dit bestand.

Dat ik elke letter moet vervangen door letter + regeleinde had ik ook al gevonden, maar dit commando is juist mijn probleem, weet namelijk niet direct hoe ik dit kan doen.

Dat !sort commando sorteert alles inderdaad alfabetisch. Alvast bedankt!
Met citaat reageren
Oud 26-10-2006, 20:16
WelVrolijk
WelVrolijk is offline
De code voor Regeleinde zou ik zo gauw niet weten.

Hangt ook af van je besturingssysteem.

Voor een EBCDIC-bestand is het in ieder geval 0D 25.

Voor een ASCII-bestand uit een DOS-omgeving (zoals Windows) is het 0D 0A.

Voor een ASCII-bestand uit een UNIX-omgeving is het ofwel 0D, ofwel 0A. DIt weet ik zo gauw niet uit mijn hoofd, maar dat kun je vast wel googelen.
Met citaat reageren
Oud 26-10-2006, 21:48
WelVrolijk
WelVrolijk is offline
Citaat:
wp160366 schreef op 26-10-2006 @ 15:18 :
HDat ik elke letter moet vervangen door letter + regeleinde had ik ook al gevonden, maar dit commando is juist mijn probleem, weet namelijk niet direct hoe ik dit kan doen.
Even wat gegoogled, maar ik ben er nog niet helemaal uit.

- Een willekeurige letter geef je in een zoekstring aan met een punt ( "." ).
- Een regeleinde geef je in een zoekstring aan met backslash + n ( "\n" ).

-----

Je zou het volgende eens kunnen proberen:

s/\(.\)/\1\n\

De . staat voor een willekeurig character.
De \( en \) zorgen er (hopelijk) voor dat we later naar die letter kunnen refereren.

De \1 haalt (hopelijk) het eerder gevonden willekeurige character terug.
De \n plakt er een regeleinde achteraan.

Ik heb op dit moment geen vi bij de hand, dus ik kan het niet testen...
Met citaat reageren
Oud 27-10-2006, 12:28
vrolijk
Werkt niet op vi in een AIX 4.4 environment.
Met citaat reageren
Oud 27-10-2006, 12:40
wp160366
wp160366 is offline
Alvast bedankt voor de hulp!

Als ik jouw suggestie probeer krijg ik het volgende: CnOMPUTERGEBRUIK.

Groeten,
__________________
I love hardware and multimedia
Met citaat reageren
Oud 27-10-2006, 15:56
Vrolijk
Probeer in plaats van \n eens:

Control+V <Enter>
(maar dan zonder de spatie er tussen:
Ziet er waarschijnlijk uit als ^M )

En dan moeten we nog een manier verzinnen om dit voor *alle* voorkomens te doen, niet alleen voor de eerste...
Met citaat reageren
Oud 27-10-2006, 16:02
Vrolijk
s/\(.\)/\1^M/g

Waarbij je ^M weer moet intikken als "Control-V" "Enter" .
Met citaat reageren
Oud 27-10-2006, 16:11
Vrolijk
Ik krijg:

BCEEGIKMOPRRTUU


------------

Nu nog bedenken, waar we dat vierde commando voor nodig hebben.
Met citaat reageren
Oud 28-10-2006, 02:05
IvdSangen
IvdSangen is offline
Code:
%s/./&^M/g
:1,$ !sort
:1,$j!
%s/\ //g
Dit werkt in vim. Vi kan ik niet testen.
Met citaat reageren
Oud 28-10-2006, 10:29
WelVrolijk
WelVrolijk is offline
Citaat:
IvdSangen schreef op 28-10-2006 @ 03:05 :
Code:
%s/./&^M/g
:1,$ !sort
:1,$j!
%s/\ //g
Dit werkt in vim. Vi kan ik niet testen.
Ah.

Die eerste regel ziet er een heel stuk overzichtelijker uit dan de mijne!
Een grote stap vooruit, dus.

Maar wat doet die vierde regel?
Bij mij had ik het eindresultaat (in vi) al na 3 commando's.
Wat doe ik fout?
Met citaat reageren
Oud 28-10-2006, 10:49
WelVrolijk
WelVrolijk is offline
Citaat:
IvdSangen schreef op 28-10-2006 @ 03:05 :
Code:
%s/./&^M/g
:1,$ !sort
:1,$j!
%s/\ //g
Dit werkt in vim. Vi kan ik niet testen.
Bij die vierde regel krijg ik in vi:
Pattern not found: \

Maar dat is op linux, niet op Unix.
Met citaat reageren
Oud 28-10-2006, 11:35
IvdSangen
IvdSangen is offline
Na het verwijderen van de newlines in regel 3 staan er spaties tussen de letters. Die spaties verwijder ik in die laatste regel.

Edit: Vreemd. Nu krijg ik inderdaad ook het correcte resultaat na stap 3.

Laatst gewijzigd op 28-10-2006 om 11:37.
Met citaat reageren
Oud 29-10-2006, 17:04
wp160366
wp160366 is offline
Citaat:
IvdSangen schreef op 28-10-2006 @ 03:05 :
Code:
%s/./&^M/g
:1,$ !sort
:1,$j!
%s/\ //g
Dit werkt in vim. Vi kan ik niet testen.
Hiermee krijg ik ook :BCEEGIKMOPRRTUU

Alvast bedankt voor al jullie hulp! Ik blijf ook verder zoeken, en laat het weten als ik een oplossing vindt!
__________________
I love hardware and multimedia
Met citaat reageren
Oud 01-11-2006, 16:58
wp160366
wp160366 is offline
Het antwoord gevonden:

s/./&^M/g
__________________
I love hardware and multimedia
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 13:22.