søg efter dokumenter, filer mm. i terminalen

Har du en guide til en funktion eller et program? Har du tips og trick, som du gerne vil dele med andre? Post dem her.
ABDK
Indlæg: 18
Tilmeldt: 21. sep 2009, 12:15
IRC nickname: ABDK
Geografisk sted: KBH

søg efter dokumenter, filer mm. i terminalen

Indlæg af ABDK »

Jeg bruger stort set min terminal til alt. Lige fra irssi i screen over ssh, til udpakning af zip/tar/rar etc. til at wine programmer osv osv osv.

Jeg bruger desuden også terminalen til at søge efter dokumenter og filer.
Jeg skrev for længe siden en guide på engelsk, på en anden side - men her kommer den så, oversat til dansk.

først så starter du en terminal op.

Jeg har en ekstern harddisk på 1 TB, og et eller andet sted ligger der et afsnit af HAK5 som jeg gerne vil se.
Stien til min eksterne hdd er /media/Elements.

Jeg skriver så i terminalen:

Kode: Vælg alt

ABDK@laptop:~$ find /media/Elements/ -name 'hak*' > HAK5_ouput.txt


Find = kommandoen for søg.
/media/Elements = stien jeg vil søge i.
- name = navnet på det jeg søger.
* = wildmark - altså tager den alt med hvori der indgår "hak"
> HAK5_output.txt = efterlader et tekst-dokument med navnet "HAK5_output"

Jeg åbner så mit dokument med nano (en terminal tekst-editor), og mit output kunne se ud som dette:

/media/Elements/TV/hak5--0424--TwitterTamagotchi2--small.xvid.avi
/media/Elements/TV/Random/hak5--0524--usbmultipass--small.xvid.avi
/media/Elements/TV/Random/hak5--0623--ces2010_part2--small.xvid.avi
/media/Elements/TV/Random/hak5--0624--homebrewmultitouch--small.xvid.av

Det er jo så de filer jeg har liggende. Men der findes faktisk endnu et trick (længe leve dovenskaben).
Lad os nu antage at der var 560 videoer med HAK5 som skulle gennemgåes, for at finde stien til lige præcis DET afsnit jeg gerne ville se. Det findes der selvfølgelig også en løsning på.

nu leder jeg efter afsnittet hvor de snakker om USB.
Jeg bruger det samme tekst-dokument som før med kommandoen cat og grep.

ABDK@laptop:~$

Kode: Vælg alt

cat HAK5_ouput.txt | grep -i "usb*"

output:

Kode: Vælg alt

/media/Elements/TV/Random/hak5--0524--usbmultipass--small.xvid.avi


Jeg laver altså en cat (en funktion der printer hele dokumentet ud i terminalen), men beder den samtidig om kun at grep (finde) det som indeholder "usb". det lille -i er der, for ellers skelner den mellem store og små bogstaver.
(Det gør linux meget).

Nu søgte jeg efter et navn "Hak", men det er også muligt at søge efter fil-typer.
Lad os sige .avi.

Kommandoen ville se således ud:

Kode: Vælg alt

ABDK@laptop:~$:find /media/Elements/TV/ -name '*.avi' > Tv_list.txt

Her finder den altså alle .avi filer på min eksterne hdd, og gemmer resultatet i et tekst-dokument ved navn TV_list.txt.

Der er endnu flere funktioner, som kan læses gennem manualen til find.
I terminalen skriver man: man find (og lukker manual-siden ved at trykke q).

Kode: Vælg alt

sudo apt-get remove windows