Windows Tips & News

Poiščite datoteke, ki vsebujejo določeno besedilo v Linuxu

Linux, ne glede na distribucijo, ki jo uporabljate, ima številna orodja GUI, ki omogočajo iskanje datotek. Številni sodobni upravitelji datotek podpirajo iskanje datotek neposredno na seznamu datotek. Vendar pa obstajajo številne situacije, ko morate uporabiti ukazno mizo, na primer med sejo SSH ali ko se strežnik X ne zažene. Tukaj je opisano, kako lahko s terminalom hitro najdete datoteke, ki vsebujejo določeno besedilo.

Če lahko uporabljate GUI, iskanje datotek ni težava. V mojem najljubšem namiznem okolju XFCE upravitelj datotek Thunar omogoča iskanje datotek tako, da vnesete ime datoteke neposredno na seznam datotek.

Vendar nobeden od upraviteljev datotek, ki sem jih preizkusil, ne omogoča iskanja vsebine datoteke.

Če želite obiti to omejitev pri delu v seji GUI, lahko uporabite Сatfish. Сatfish je priljubljeno iskalno orodje. Omogoča iskanje vsebine datoteke. Morate klikniti ikono zobnika in omogočiti možnost Išči po vsebini datoteke.

Vendar, ko gre za terminal, ne morete uporabiti nobenega grafičnega orodja. Prav tako se mi zdi Catfish neuporaben in imam raje klasična konzolna orodja pred njim. Tukaj so metode in orodja, ki jih uporabljam.

Če želite najti datoteke, ki vsebujejo določeno besedilo v Linuxu, naredite naslednje.

  1. Odprite svojo najljubšo terminalsko aplikacijo. terminal XFCE4 je moja osebna preferenca.
  2. Vnesite naslednji ukaz:
    find ./ -type f -exec grep -l "besedilo za iskanje" {} \;
  3. To bo ustvarilo seznam datotek, ki vsebuje zahtevani del besedila.

Ukaz find bo poiskal datoteke, ki se začnejo iz trenutnega imenika, "./". Namesto tega lahko določite želeno pot.

Možnost -vrsta f pove, naj išče samo datoteke in izključuje imenike. Prav tako lahko nastavite, da išče samo določeno vrsto datoteke, tako da dodate možnost, kot sledi:
najdi ./ -type f -iname "*.txt" -exec grep -l "besedilo za iskanje" {} \;

Oglejte si naslednji posnetek zaslona:

The -exec možnost pokliče orodje grep za vsako od ujemajočih se datotek, da preveri njihovo vsebino. Če je besedilo najdeno v datoteki, bo njegovo ime dodano izhodu, zahvaljujoč -l možnost.

Alternative

Obstajajo alternative zgoraj opisanim metodam. Najprej lahko uporabite samo grep orodje. Poskusite naslednji ukaz:

grep -iRl "besedilo za iskanje" ./

  • -i pomeni ignoriranje velikih in malih črk.
  • -R pomeni rekurzivno obdelavo datotek.
  • -l pomeni "pokaži ime datoteke, ne sam rezultat".

Kot lahko vidite, je ta metoda manj prilagodljiva kot najti ukaz.

Polnočni poveljnik

Druga metoda, ki jo pogosto uporabljam, je Midnight Commander (mc), aplikacija za upravljanje datotek konzole. Za razliko od find ali grep, mc ni privzeto vključen v vse distribucije Linuxa, ki sem jih preizkusil. Morda ga boste morali namestiti sami.

Če želite s programom Midnight Commander poiskati datoteke, ki vsebujejo določeno besedilo, zaženite aplikacijo in na tipkovnici pritisnite naslednje zaporedje:
Alt + Shift + ?
To bo odprlo pogovorno okno za iskanje.

Izpolnite razdelek »Ime datoteke:«. Določite lahko nekaj, kot je "*.txt", da poiščete svoje besedilo samo v besedilnih datotekah.

Zdaj izpolnite Vsebina: škatla. Vnesite besedilo, ki ga vsebujejo datoteke, in pritisnite tipko Enter.

Našel bo vse datoteke, ki ustrezajo kriterijem.

To je to.

Windows 10 Build 19582 (Fast Ring)

Windows 10 Build 19582 (Fast Ring)

PRIPOROČANO: Kliknite tukaj, če želite odpraviti težave z operacijskim sistemom Windows in optimi...

Preberi več

Ukazi ms-settings v sistemu Windows 10 (Bližnjice URI strani z nastavitvami)

Ukazi ms-settings v sistemu Windows 10 (Bližnjice URI strani z nastavitvami)

Seznam ukazov ms-settings v sistemu Windows 10 (Bližnjice URI strani z nastavitvami)Te ukaze lahk...

Preberi več

Arhivi Windows 10 20H1

Microsoft ima izpustil nova izbirna posodobitev za Windows 10 različica 2004, posodobitev maja 20...

Preberi več