Algajate juhend

Kuidas leida stringi Linuxi failist

Kuidas leida stringi Linuxi failist

Mõnikord peate võib-olla otsima failist mõnda konkreetset sõna või stringi. Selleks on peaaegu igal tekstiredaktoril mõni GUI juurutamine, mis teid välja aitab. Kuid Linuxi kasutajate jaoks on neid otsinguid käsurealt palju produktiivsem ja mugavam teha.

Tegelikult on Linuxil võimas ja mugav käsurea utiliit - selleks otstarbeks käsk grep. Selle abil saate põhjalikuma otsingu jaoks konkreetset stringi otsida mitte ainult ühest, vaid mitmest failist.

Kuid enne käsu grep kasutamist peate kõigepealt teadma, kuidas see töötab ja selle süntaksid. Ja nii oleme teie välja aitamiseks koostanud üksikasjaliku juhendi käsu grep kasutamiseks, et aidata teil Linuxis failist stringe leida. Mitte ainult seda, vaid näitame teile ka seda, kuidas failides stringe otsida käsurea tekstiredaktori ja GUI tekstiredaktori kaudu.

Märge: Selle õpetuse jaoks oleme loonud kaks demo tekstifaili - demofail.txt ja demofail02.txt. Nendest failidest stringide leidmiseks kasutame käsku grep. Siin on pilk mõlema faili sisule, et saaksite teada, kuidas käsud töötavad.

Demofaili sisu.txt:

See on demofail, mille olen loonud tutvustamiseks. See sisaldab hulga sõnu, et luua lauseid, mis lõpevad lõpuks punktiga. See on grep-näite jaoks.

Demofaili sisu02.txt:

See on veel üks demofail, mida ma selle demonstratsiooni jaoks kasutan. See sarnaneb viimasega, kuna sisaldab kolme rida koos mõne sõnaga. See teine ​​fail aitab tuua mitmekülgseid näiteid.

Stringide leidmine failist käsurea kaudu (GREP-meetod)

GREP on lühend sõnast Global Regular Expression Print. See on „ülemaailmne“, kuna see võimaldab otsida kogu teie Linuxi süsteemist. "Regulaaravaldus" on see, mida me nimetame tekstiotsingu mustriks, mida kasutame käsuga. Ja “Prindi” tähendab, et see prindib otsingutulemid kohe, kui leiab vaste pakutava regulaaravaldise põhjal.

Nüüd, kui teil on ettekujutus, mis on käsk grep, vaatame, kuidas saame seda kasutada. Siin on süntaks käsu grep kasutamiseks failist stringi leidmiseks:

$ grep string faili nimi

Te peate asendama avaldise „string” kasutatava „tavaväljendiga” ja „failinimega” selle faili nimega, milles soovite stringi otsida.

# 1. GREP-i kasutamine stringi leidmiseks ühest failist

Oletame, et kui soovite failist „demofail.txt, ”peate kasutama seda käsku:

$ grep tutvustava demofaili.txt

Mis annab väljundi:

GREP-i kasutamine stringi leidmiseks ühest failist

Nagu näete, tõmbab käsk kogu rea, mis sisaldab antud stringi. Kui määratud string esineb mitmes reas, prindib see kõik need. Vaatame, kas see töötab, otsides „demofailis” stringi „See”.txt ”fail.

$ grep See demofail.txt

Ja väljund on:

grep on tõstutundlik

Pange tähele, kuidas kasutasite stringi "this" kõigepealt ja see ei printinud midagi. Alles siis, kui sisestate “See”, saate mängu. Sellisena peaksite meeles pidama, et käsk grep on tõstutundlik.

Juhtumi eiramiseks peate selle asemel sisestama järgmise käsu:

$ grep -i see demofail.txt

Kuidas ignoreerida juhtumeid grep-käsus

Nagu näete praegu, sobib käsk "see", kuigi antud string on "see", ja prindib selle vastuse.

# 2. GREP-i kasutamine sama stringi leidmiseks mitmest failist

Pakutava stringi otsimiseks mitmest failist peate lisama käsu kõigi failinimedega.

Siin on näide. Siin otsime stringi "sõnad" failidest "demofail.txt ”ja“ demofail02.txt ”:

$ grep sõnad demofail.txt demofail02.txt

Ja väljund on:

GREP-i kasutamine sama stringi leidmiseks mitmest failist

Nagu näete, näitab käsk grep mitte ainult sobitatud tulemust, vaid ka sildistab mugavalt, millisest failist see pärineb.

# 3. GREP-i kasutamine mitme stringi leidmiseks mitmest failist

Grepi abil saate ka mitu stringi leida ühest või mitmest failist. See on süntaks, mida peate kasutama:

$ grep -E 'muster1 | muster2 | muster3 |…' failinimi1 failinimi2 failinimi3 .. 

Sisestatud valik -E käsitleb järgmist mustrit laiendatud regulaaravaldisena, mis võimaldab meil otsida mitut stringi.

Kasutagem nüüd õpitut, et otsida kahest failist stringe “fail” ja “sõnad”: “demofail.txt ”ja“ demofail02.txt ”:

$ grep -E 'fail | sõna' demofail.txt demofail02.txt

Ja väljund on:

GREP-i kasutamine mitme stringi leidmiseks mitmest failist

# 4. Nõuandeid ja nippe stringide leidmiseks käsu GREP kasutamiseks

Vaatamata üldisele lihtsusele on grep-käsk äärmiselt võimas. Siin on mõned võimalused, kuidas kasutada käsku grep täpsemate stringide otsimiseks.

Näiteks, kas teadsite, et saate metamärkidega kasutada käsku grep? Vaatleme seda käsku:

$ grep sõna demofail *

Mis annab väljundi:

grep ja metamärgid

Nagu näete, on käsk otsinud mõlema faili “demofail.txt ”ja“ demofail02.txt ”. Seda seetõttu, et kasutasime tärnimärki (*), mida kasutatakse mis tahes tähemärgi ühe või mitme esinemise tähistamiseks.

Erinevate metamärkide tüüpide ja nende kasutamise kohta lisateabe saamiseks lugege järgmist: Linuxi metamärgid on selgitatud 10 näite abil.

Edasi liikudes toetab grep käsk ka hulgaliselt käsuvalikuid. Neist kahte oleme praeguseks juba näinud:

Seal on palju muid grep-käskude valikuid, näiteks:

Kõik, mida me seni arutasime, peaks olema palju, et aidata teil failidest stringe otsida. Kuid kui soovite hallata käsku GREP, soovitame teil vaadata neid kahte artiklit:

Stringide leidmine failist käsurea kaudu (käsurea tekstiredaktorite kasutamine)

Grep-käsk on võimas tööriist, mis aitab teil teha täpsemaid otsinguid, et sobitada stringid mitme Linuxi arvuti faili ja kataloogiga. Kui fail on aga juba käsurea tekstiredaktoris avatud, pole failiredaktorist vaja väljuda ja käsku grep kasutada.

Tegelikult on enamikul käsurea tekstiredaktoritel juba sisseehitatud otsingufunktsioon.

Nüüd ei kuulu selle õpetuse ulatus katta kõiki käsurea tekstiredaktoreid ja kuidas leida stringe failist, mis on selles tekstiredaktoris avatud. Sellisena vaatleme kaht kõige populaarsemat käsurea tekstiredaktorit, mida peate kindlasti kasutama:

Kuidas leida nanost tekstistringi?

Oletame, et teil on fail nano tekstiredaktoris avatud. Sellisel juhul on vaja vaid vajutada klahvikombinatsiooni Ctrl + W ja leiate uue viiba stringi sisestamiseks.

Kui see on tehtud, vajutage sisestusklahvi ja kursor satub otsitud stringi esimese esinemise esimesse tähemärki. Teiste stringi eksemplaride juurde liikumiseks, kui neid on, võite jätkata Enteri vajutamist.

Kuidas leida nanost tekstistringi

Kuidas leida tekstistringi VIM-is?

Kui kasutate vim-tekstiredaktorit, võite sisestada: /, millele järgneb string, mida soovite otsida, ja seejärel vajutada sisestusklahvi. Sarnaselt varasemale juhib see kursori otsitava stringi esmakordsele esinemisele. Ka siin saate stringi teiste eksemplaride juurde liikumiseks jätkata Enteri vajutamist.

Kuidas leida tekstistringi VIM-is

Stringide leidmine failist käsurea kaudu (GUI-meetod)

Failide stringide leidmiseks on olemas isegi GUI-meetod. Sisuliselt sarnaneb see funktsiooniga „Leia ja asenda”, mida näete Microsoft Wordis; see varieerub aga sõltuvalt sellest, millist GUI tekstiredaktorit kasutate.

Nüüd, nagu teate, on tekstiredaktoreid sadu ja kõiki neid pole otstarbekas siin kajastada. Kuid kõik need toimivad sarnaselt, nii et kui teil on teada, kuidas üks neist töötab, pole teil teistega koostööd tehes probleeme.

Selle õpetuse jaoks kasutame Ubuntu juurde kuuluvat vaiketekstiredaktorit nimega - “Tekstiredaktor.”

Kuidas leida stringi GUI tekstiredaktorite abil

Nagu pildilt näha, oleme demofaili avanud.txt redaktoris. Nüüd klõpsame rippmenüüd, mis näitab võimalusi leida ja otsida ning asendada, mida saame kasutada avatud failis olevate stringide leidmiseks.

Pakkimine

Nii jõuame selle lühikese õpetuse lõpuni, et leida stringe failist Linuxis. Loodame, et see on teile kasulik ja aitas teil oma Linuxi süsteemis konkreetsete stringide otsimisel produktiivsemaks muutuda.

Kui teil on küsimusi, jätke meile kommentaar ja me aitame teid kindlasti teie küsimustega lahendada.

Kui alustate Linuxiga, ärge unustage tutvuda meie sarja Linuxiga. See on täis hulgaliselt ägedaid õpetusi, juhiseid ja juhendeid, mis on mõeldud algajatele ja kogenumatele kasutajatele, et aidata teil tõeliseks Linuxi kasutajaks saada.

Kuidas kasutada AutoKeyt Linuxi mängude automatiseerimiseks
AutoKey on Linuxi ja X11 töölaua automatiseerimise utiliit, mis on programmeeritud Python 3, GTK ja Qt. Selle skriptimise ja MACRO funktsionaalsuse ab...
Kuidas näidata FPS-loendurit Linuxi mängudes
Linuxi mängimine sai suure tõuke, kui Valve teatas Steam-kliendi ja nende mängude Linuxi toest 2012. aastal. Sellest ajast peale on paljud AAA- ja ind...
Sid Meieri Civilization VI allalaadimine ja mängimine Linuxis
Sissejuhatus mängu Civilization 6 on kaasaegne kontseptsioon, mis tutvustati Age of Empires mängude sarjas. Idee oli üsna lihtne; alustaksite kõige põ...