Kitame straipsnyje mes pamatysime kai kuriuos komandinės eilutės įrankiai, naudojami teksto failuose rasti tinkančias eilutes ar šablonus. Šie įrankiai paprastai naudojami kartu su taisyklingomis išraiškomis, sutrumpintai kaip REGEX, kurios yra unikalios eilutės, apibūdinančios paieškos modelį.
Reguliarūs posakiai yra modeliai, naudojami norint rasti tam tikrą simbolių derinį teksto eilutėje. Reguliarūs posakiai yra labai lankstus būdas ieškoti ar atpažinti teksto eilutes. Nors šiose eilutėse nematysime taisyklingų posakių, naudosime šablonus ar eilutes.
Ieškokite eilučių ar raštų iš terminalo
Grep komanda
Grep yra akronimas Visuotinis reguliariosios išraiškos spausdinimas. Tai galingas komandinės eilutės įrankis, naudingas ieškant faile konkrečios eilutės ar šablono. Su grep galėsime naudotis įvairiausiomis funkcijomis, tokiomis, kurias kolega mums prieš kurį laiką paaiškino šiame tinklaraštyje.
Grep komandos naudojimo sintaksė yra gana paprasta:
grep PATRON [RUTA AL ARCHIVO]
Pvz., Norint ieškoti eilutės 'ubuntu'faile, kuriam šiame pavyzdyje paskambinsime text.txt, neatsižvelgdami į didžiųjų ir mažųjų raidžių skirtumus, terminale (Ctrl + Alt + T) turėsime vykdyti tik komandą:
grep -i Ubuntu texto.txt
Komanda sed
Troškulys yra trumpas Srauto redaktorius. Tai yra dar viena naudinga priemonė terminalui, su kuria galime manipuliuoti failo tekstu. „Sed“ ieško, filtruoja ir pakeičia eilutes nurodytame faile.
Komanda sed pagal nutylėjimą spausdina išvestį IŠJUNGIMAS (Standartinė išvestis). Tai reiškia, kad vykdymo rezultatas spausdinamas į terminalą, o ne išsaugomas faile.
„Sed“ komandą galima naudoti taip:
sed -OPCIONES COMANDO [RUTA AL ARCHIVO]
Pvz., Norint pakeisti visus „Linux„tekste“„GnuLinux“", komanda turėtų būti tokia:
sed 's/Linux/GnuLinux/g' texto.txt
Jei tai, ko mes ieškome, yra nukreipti išvestį į failą, o ne spausdinti į terminalą, peradresavimo ženklą naudosime taip:
sed 's/Linux/GnuLinux/g' texto.txt > salida.txt
Komandos išvestis išsaugoma faile output.txt užuot atspausdintas ekrane.
Norėdami pamatyti daugiau parinkčių, galite skaitykite vyro puslapius:
man sed
ack
„Ack“ yra greitas komandinės eilutės įrankis, parašytas „Perl“. Tai laikoma draugišku grep programos pakaitalu, kuris taip pat generuoja rezultatus vizualiai patraukliai.
į įdiekite ack savo sistemoje turėsime vykdyti terminale (Ctrl + Alt + T):
sudo apt install ack
Įsakymas Ack ieško faile ar kataloge eilučių, kuriose yra paieškos kriterijų atitiktis. Tada paryškinkite atitinkamą eilutę. Šis įrankis turi galimybę atskirti failus pagal jų plėtinius.
„Ack“ komandos sintaksė būtų maždaug tokia
ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Pavyzdžiui, norint ieškoti termino Linux faile turėtume įvykdyti:
ack Linux texto.txt
Paieškos įrankis yra gana protingas ir jei vartotojas nepateikia jokių failų ar katalogų, jis ieško paieškos modelio dabartiniame kataloge ir pakatalogiuose.
Šiame pavyzdyje failas ar katalogas nepateikti. „Ack“ automatiškai aptinka kataloge turimą failą ir ieško atitinkamo modelio:
ack Linux
Ripgrepas
Ripgrepas yra kelių platformų įrankis, skirtas ieškoti taisyklingos išraiškos šablonų. Tai greitesnė nei visi pirmiau minėti paieškos įrankiai, ir jis rekursyviai ieško katalogų, kad atitiktų modelius. Tai taip pat leidžia jums ieškoti konkrečių failų tipų. Pagal numatytuosius nustatymus „ripgrep“ praleis dvejetainius failus ir paslėptus failus / katalogus.
į įdiekite ripgrep sistemoje tiesiog paleiskite šią komandą terminale (Ctrl + Alt + T):
sudo apt install ripgrep
Ripgrep naudojimo sintaksė yra gana paprasta:
rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Jei norėtume ieškoti grandinės “Linux'failuose, esančiuose dabartiniame kataloge, turėsime vykdyti tik komandą:
rg Linux
Norėdami pamatyti daugiau parinkčių, vartotojai gali naudoti vyro puslapiai:
man rg
Sidabro ieškotojas
į įdiekite šį įrankį„Ubuntu“ turėsime atidaryti tik terminalą („Ctrl“ + „Alt“ + T) ir parašyti komandą:
sudo apt install silversearcher-ag
„Silver Searcher“ yra kelių platformų atvirojo kodo paieškos įrankis, panašus į „ack“, tačiau akcentuojantis greitį. Tai leidžia lengvai rasti konkrečią eilutę failuose per trumpiausią įmanomą laiką. Naudojama sintaksė būtų tokia:
ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo
Pvz., Norint ieškotiLinux„Faile text.txt, turėtume parašyti terminale („Ctrl“ + „Alt“ + T):
ag Linux texto.txt
Norėdami pamatyti daugiau galimybių, galite kreiptis į vyro puslapiai:
man ag
Tai tik keletas dažniausiai naudojamų komandinės eilutės įrankių ieškant, filtruojant ir manipuliuojant „Linux“ tekstu.