Kaip rasti tekstą „Linux“ failuose

How Find Text Files Linux



Sistemos administratoriui darbas su teksto failais yra įprastas reiškinys. Gal reikia surasti tam tikrą skyrių iš žurnalų failų krūvų, kad būtų galima išspręsti kokias nors problemas? Arba reikia greitai rasti dokumentą, kuriame yra esminės informacijos?

„Linux“ atveju yra daugybė būdų, kaip rasti tekstus failuose. Tai įmanoma naudojant integruotus įrankius ir trečiųjų šalių programas. Patikrinkite, kaip rasti tekstus failuose „Linux“.







Rasti tekstą failuose

Atsižvelgiant į failų, kuriuose reikia atlikti paiešką, skaičių, teksto paiešką galima atlikti dviem būdais: automatine arba rankiniu būdu. Jei turite dirbti su keliais teksto failais, rankinė paieška yra tinkamesnė. Tačiau jei yra šimtai teksto failų, automatinė paieška yra efektyviausia.



Automatinei paieškai naudosime „grep“. „Grep“ yra iš anksto įdiegtas bet kuriame „Linux“ distribucijoje. Kalbant apie rankinę paiešką, bet kuris šiuolaikinis teksto redaktorius atliks šį darbą.



Raskite tekstą failuose naudodami grep

„Linux“ sistemoje grep yra numatytasis teksto paieškos įrankis. Jo pavadinimas kilęs iš komandos ed/g/re/p, kuri reiškia visuotinę reguliarios išraiškos paiešką ir spausdinimo atitikimo eilutes. Tai galima rasti bet kuriame šiuolaikiniame „Linux“ distribucijoje.





„Grep“ yra komandų eilutės įrankis. Jo komandų struktūra yra tokia.

$sukibimas <variantas> <Įprasta išraiška> <bylos kelias>

Kaip rodo grep pavadinimas, ieškomas modelis aprašomas naudojant įprastą išraišką. Reguliarioji išraiška yra specialus eilutės tipas, apibūdinantis modelį, kurį reikia suderinti, rasti ir valdyti. Norėdami sužinoti daugiau apie grep ir įprastą išraiškas, patikrinkite naudojant grep ir egrep su reguliaria išraiška .



Demonstravimo tikslais paimkite teksto failo pavyzdį. Šiame pavyzdyje atsisiųskite GNU General Public License v3.0 teksto failas .

Pagrindinė paieška

Pagrindinis grep naudojimo būdas yra ieškoti pagrindinės eilutės.

Pažvelkite į šią komandą grep. Jis teksto faile ieškos žodžio GNU.

$sukibimas „GNU“lpg-3.0.txt

Norėdami parodyti eilutės numerį, naudokite vėliavą -n.

$sukibimas -nGNU gpl-3.0.txt

Norėdami atlikti didžiųjų ir mažųjų raidžių paiešką naudodami grep, naudokite -i vėliavą.

$sukibimas -nignu gpl-3.0.txt

Galbūt nenorite matyti paieškos atitikčių, bet tik failo pavadinimą, kuriame tam tikrose situacijose įvyko atitiktis. Norėdami spausdinti tik failo pavadinimą, naudokite vėliavą -l. Čia žvaigždutė reiškia naudoti visus teksto failus dabartiniame kataloge.

$sukibimas -jiegnu*

Taip pat galime nukreipti kitų komandų išvestį į „grep“.

$katėlpg-3.0.txt| sukibimas -nGNU

Įprasta išraiška

„Regex“ siūlo protingą būdą patikslinti paiešką. Ji turi savo taisykles. Tačiau skirtingos programos ir programavimo kalbos reguliariąją išraišką įgyvendina skirtingai. Štai keletas pavyzdžių, kuriuos galite naudoti su grep.

Norėdami apibrėžti, kad eilutė turi būti rasta pradedant eilutę, naudokite simbolį caret (^).

$sukibimas -n^ GNU gpl-3.0.txt

Norėdami apibrėžti, kad eilutė yra eilutės pabaigoje, naudokite dolerio ženklą ($).

$sukibimas -niki $ gpl-3.0.txt

Norėdami apibūdinti, kad tam tikroje modelio vietoje gali būti bet koks simbolis, naudokite taško ženklą (.). Pavyzdžiui, išraiška G.U galioja, jei tarp G ir U yra koks nors simbolis.

$sukibimas -nG.U gpl-3.0.txt

Norėdami apibūdinti, kad tam tikroje modelio vietoje gali būti simbolių pogrupis, naudokite skliaustus ([]). Pavyzdžiui, išraiška t [wo] o nurodo, kad atitiktis galioja tik dviem ir per daug.

$sukibimas -nt[Kur]o gpl-3.0.txt

Išplėstinė reguliarioji išraiška

Kaip rodo pavadinimas, išplėstinė reguliarioji išraiška gali atlikti sudėtingesnius dalykus nei pagrindinės reguliariosios išraiškos. Norėdami naudoti išplėstinę reguliariąją išraišką su grep, turite naudoti -E vėliavą.

$sukibimas -gimęs <Išplėstinis_reguliarusis> <failą>

Norėdami ieškoti dviejų skirtingų eilučių, naudokite OR operatorius (|).

$sukibimas -gimęsGNU|bendras|Licencija gpl-3.0.txt

Rasti tekstą failuose

Dabar ateina pagrindinė dalis. Užuot rankiniu būdu nurodęs grep failui atlikti paiešką, grep gali tai padaryti automatiškai. Tolesnėje komandoje „grep“ naudos visus esamus katalogo teksto failus, kad ieškotų modelio.

$sukibimas <reguliariai> *

Jei norite grep atlikti paiešką kitame kataloge, turite nurodyti vietą.

$sukibimas <reguliariai> <directory_path>

Jei yra aplankų, „grep“ pagal numatytuosius nustatymus jų netiria. Norėdami nurodyti grep ieškoti rekursyviai, naudokite -R vėliavą.

$sukibimas -nR <reguliariai> <directory_path>

Grip GUI

Jei norite dirbti su GUI, bet vis tiek norite mėgautis „grep“ funkcijomis, patikrinkite „searchmonkey“. Tai grep sprendimas. Paketą galima įsigyti beveik visuose pagrindiniuose „Linux“ distribucijose.

Raskite tekstą failuose naudodami „nano“

„GNU Nano“ yra paprastas ir galingas teksto redaktorius, pateikiamas su bet kuriuo „Linux“ platinimu. Jis turi integruotas funkcijas, skirtas tekstui ieškoti teksto faile.

Atminkite, kad taikydami šį metodą turite atidaryti teksto failą ir ieškoti rankiniu būdu. Tai įmanoma, jei yra tik keletas teksto failų, su kuriais reikia dirbti. Jei yra daugiau, tada grep naudojimas yra optimaliausias pasirinkimas.

Atidarykite teksto failą „nano“.

$nano <bylos kelias>

Norėdami ieškoti eilutės atitikimo, paspauskite Ctrl + W. Įvedę ieškomą eilutę, paspauskite „Enter“.

Raskite tekstą failuose naudodami „Vim“

Vimas yra gerai žinomas ir žinomas teksto redaktorius. Tai komandinės eilutės atitikmuo šiuolaikiniam teksto redaktoriui. „Vim“ turi daugybę papildomų funkcijų, tokių kaip papildiniai, makrokomandos, automatinis užbaigimas, filtrai ir kt.

Panašiai kaip „nano“, „Vim“ vienu metu dirba su vienu failu. Jei turite kelis teksto failus, tada grep naudojimas yra optimaliausias būdas.

Norėdami ieškoti teksto faile, pirmiausia atidarykite jį „Vim“.

$aš atėjau <bylos kelias>

Įveskite šią „Vim“ komandą ir paspauskite „Enter“.

$:/<paieškos terminas>

Raskite tekstą failuose naudodami „GNOME“ teksto rengyklę

GNOME teksto rengyklė yra teksto redaktorius, pateikiamas kartu su GNOME darbalaukiu. Tai supaprastintas teksto redaktorius su visomis pagrindinėmis funkcijomis, kurių tikitės. Tai puiki alternatyva komandinės eilutės teksto redaktoriams.

Panašiai kaip ir nano ir vim, toks pat atsargumas taikomas ir šiam metodui. Jei teksto failų skaičius yra didelis, geriau laikytis grep.

Atidarykite teksto failą teksto rengyklėje. Paspauskite Ctrl + F, kad atidarytumėte paieškos juostą.

Raskite tekstą failuose naudodami „VS Code“

„Visual Studio Code“ yra galingas teksto redaktorius, turintis daugybę funkcijų. Jis yra optimizuotas programuotojams, kad būtų naudojamas taip, tarsi tai būtų visavertis IDE. Jis prieinamas beveik visuose pagrindiniuose „Linux“ distribucijose.

Įdiekite „Visual Studio Code“ momentinį paketą.

$sudospragtelėtidiegtikodą-klasika

Atidarykite tekstinį failą „VS Code“. Norėdami pradėti ieškoti, paspauskite Ctrl + F.

Galutinės mintys

Yra daugybė būdų, kaip ieškoti teksto failuose. Tai lengva užduotis įvaldyti. Primygtinai rekomenduojama įsisavinti komandą grep, nes ji suteikia didžiausią naudingumo ir naudojimo paprastumo vertę.

Jei pageidaujate GUI, galite pasirinkti daugybę teksto redaktorių. Bet kuris modernus teksto redaktorius suteiks teksto paieškos parinktį.

Laimingo skaičiavimo!