Ubuntu: Linux voor mensen/Werken met bestanden/Tekst zoeken in een bestand

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Het programma grep is eenvoudig maar zeer krachtig voor het filteren van lijnen output die een bepaalde string (= zoekwoord) bevatten. Er zijn letterlijk duizenden toepassingen die van het grep commando gebruik maken.

Vrijwel alle UNIX-systemen hebben een online woordenboek. Op onze Ubuntu bevindt het zich in /usr/share/dict/words. Standaard staat daar een Engels woordenboek, een Brits woordenboek en een Amerikaans woordenboek.

Uitleg

Ook in het Nederlands Je kan van het Internet ook een Nederlands woordenboek downloaden. De woordenboeken worden bijvoorbeeld gebruikt door programma's die spellingscontroles doen.

Om grep te demonstreren, zullen we het woordenboek gebruiken.

Voorbeeld code om na te doen

ubuntu@ubuntu:~$ grep story /usr/share/dict/words
clerestory
clerestory's
history
history's
prehistory
prehistory's
story
story's
storybook
storybook's
storybooks
storyteller
storyteller's
storytellers

Het woordenboek is slechts een bestand dat per lijn een woord bevat. Wat we doen in bovenstaand voorbeeld is alle lijnen van dat bestand tonen, waarin ergens de string “story” voorkomt. Dit commando heeft, zoals de meeste, weer een hele reeks opties. De meest gebruikte zijn -i, om hoofdletterongevoelig te zoeken, en -v om juist die lijnen die de zoekstring niet bevatten op het scherm te zetten.

Opdracht

Lijnen tellen Lees man grep. Wat is de optie om te tellen hoeveel keer een string in een bestand voorkomt?

Om de output van bijvoorbeeld locate en find te filteren, zodat die korter wordt, zullen we er dikwijls een grep commando aanbreien. Hoe dat gaat, zien we in Deel 2.

Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.