Snacka med din hallonpaj (5) — bearbeta textfiler med less, grep och wc

Nu undrar du förstås varifrån jag fick talet 36769 som svar på antalet paket till Raspbian. Jag ska visa steg för steg, för det är ett bra exempel på en sak som UNIX och Linux är riktigt bra på, nämligen att plåga ut information ur snuskigt stora textfiler.

Filen Packages innehåller en lista på alla paket i Raspbian. Jag tankade ner den och började titta på den med kommandot less.

Screenshot from 2013-02-12 19:13:11

En bit av filen ser ut så här…

Screenshot from 2013-02-12 19:16:46

Bläddrar upp och ner med piltangenterna, inser att filen är alldeles för stor för att jag ska orka läsa och avslutar med Q. Ser dock innan att beskrivningen av varje paket börjar med ordet Package:

Screenshot from 2013-02-12 19:15:37

Då kan jag titta på bara rubrikerna med programmet grep. Emellertid tryter mitt tålamod nu också, för det tar lååång tid, så jag stoppar med ctrl-C.

Screenshot from 2013-02-12 19:18:00

Därför skickar jag i stället in den dataströmmen till wc -l, som räknar antalet rader i strömmen. Då får jag blixtsnabbt svaret 36769.

Kommandona less, grep och wc är bara tre exempel på de ytterst kraftfulla möjligheter som finns för att bearbeta textfiler. Tecknet | är nästan magiskt när det gäller att ta utdata från ett program och hälla in dem i nästa. Man brukar säga att idealet för program i UNIX och Linux är om de kan fungera som ett filter.

Vi får nog anledning att återkomma till det här, för det är inte lätt, men viktigt, men först ska vi utöka vår verktygslåda.

dsc_6020_nef_shotwell_modified

Annonser