Nākamajā rakstā mēs redzēsim dažus komandrindas rīki, ko izmanto, lai atrastu atbilstošas virknes vai modeļus teksta failos. Šie rīki parasti tiek izmantoti kopā ar regulārām izteiksmēm, saīsināti kā REGEX, kas ir unikālas virknes, lai aprakstītu meklēšanas modeli.
Regulārās izteiksmes ir modeļi, ko izmanto, lai teksta virknē atrastu noteiktu rakstzīmju kombināciju. Regulārās izteiksmes nodrošina ļoti elastīgu veidu, kā meklēt vai atpazīt teksta virknes. Lai gan nākamajās rindās mēs neredzēsim regulārus izteicienus, mēs izmantosim modeļus vai virknes.
Meklējiet virknes vai rakstus no termināla
Grep komanda
Greps ir saīsinājums Globālās regulārās izteiksmes druka. Tas ir spēcīgs komandrindas rīks, kas ir noderīgs, meklējot failā noteiktu virkni vai modeli. Ar grep mēs varēsim izmantot plašu funkciju klāstu, piemēram, tās, kuras kolēģis pirms kāda laika mums paskaidroja šajā emuārā.
Grep komandas sintakse ir diezgan vienkārša:
grep PATRON [RUTA AL ARCHIVO]
Piemēram, lai meklētu virkni 'Ubuntu'failā, uz kuru šajā piemērā mēs piezvanīsim text.txt, neņemot vērā atšķirību starp lielajiem un mazajiem burtiem, terminālā (Ctrl + Alt + T) mums būs jāizpilda tikai komanda:
grep -i Ubuntu texto.txt
Komanda sed
Slāpes ir īsas Straumes redaktors. Tas ir vēl viens noderīgs rīks terminālim, ar kuru mēs varam manipulēt ar tekstu failā. Sed meklē, filtrē un aizstāj virknes dotajā failā.
Komanda sed pēc noklusējuma izdrukā izvadi STDOUT (Standarta izeja). Tas nozīmē, ka izpildes rezultāts tiek izdrukāts terminālā, nevis tiek saglabāts failā.
Sed komandu var izmantot šādi:
sed -OPCIONES COMANDO [RUTA AL ARCHIVO]
Piemēram, lai aizstātu visus “Linux"tekstā ar"Linux', izmantojamā komanda būtu šāda:
sed 's/Linux/GnuLinux/g' texto.txt
Ja tas, ko mēs meklējam, ir novirzīt izvadi uz failu, nevis drukāt to uz termināli, mēs izmantosim novirzīšanas zīmi šādi:
sed 's/Linux/GnuLinux/g' texto.txt > salida.txt
Komandas izeja tiek saglabāta failā output.txt tā vietā, lai tiktu drukāts uz ekrāna.
Lai redzētu vairāk iespēju, varat konsultējieties ar cilvēka lapām:
man sed
Ak
Ack ir ātrs komandrindas rīks, kas rakstīts Perl valodā. Tas tiek uzskatīts par draudzīgu grep lietderības aizstājēju, kas arī rada rezultātus vizuāli pievilcīgā veidā.
līdz instalēt ack mūsu sistēmā mums būs jāizpilda terminālā (Ctrl + Alt + T):
sudo apt install ack
Komanda Ack meklē failā vai direktorijā rindas, kurās ir meklēšanas kritēriju atbilstība. Pēc tam iezīmējiet atbilstošo virkni. Šis rīks spēj atšķirt failus, pamatojoties uz to paplašinājumiem.
Ack komandas sintakse būtu apmēram šāda
ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Piemēram, lai meklētu terminu Linux failā mums būtu jāizpilda:
ack Linux texto.txt
Meklēšanas rīks ir diezgan gudrs un ja lietotājs nepiegādā failus vai direktorijus, tas meklēšanas modeli meklē pašreizējā direktorijā un apakšdirektorijos.
Šajā piemērā nav norādīts fails vai direktorijs. Ack automātiski atrod direktorijā pieejamo failu un meklē atbilstošo modeli:
ack Linux
Ripgreps
Ripgreps ir starpplatformu lietderība regulāru izteiksmes modeļu meklēšanai. Tas ir ātrāks nekā visi iepriekš minētie meklēšanas rīki, un tas katalogos rekursīvi meklē atbilstošos modeļus. Tas ļauj arī meklēt konkrētus failu tipus. Pēc noklusējuma ripgrep izlaidīs bināros failus un slēptos failus / direktorijus.
līdz instalēt ripgrep sistēmā viss, kas jums jādara, ir palaist šādu komandu terminālā (Ctrl + Alt + T):
sudo apt install ripgrep
Ripgrep izmantošanas sintakse ir diezgan vienkārša:
rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Ja mēs gribētu meklēt ķēdi 'Linux'failos, kas atrodas pašreizējā direktorijā, mums būs jāizpilda tikai komanda:
rg Linux
Lai redzētu vairāk iespēju, lietotāji var izmantot man lapas:
man rg
Sudraba meklētājs
līdz instalējiet šo rīkuUbuntu mums būs jāatver tikai terminālis (Ctrl + Alt + T) un jāuzraksta komanda:
sudo apt install silversearcher-ag
Silver Searcher ir starpplatformu, atvērtā koda meklēšanas rīks, kas līdzīgs ack, bet uzsvaru liek uz ātrumu. Tas ļauj viegli atrast noteiktu virkni failos pēc iespējas īsākā laikā. Izmantojamā sintakse būtu šāda:
ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo
Piemēram, lai meklētuLinux"failā text.txt, mums būtu jāraksta terminālā (Ctrl + Alt + T):
ag Linux texto.txt
Lai redzētu vairāk iespēju, mēs varam iepazīties ar cilvēka lapas:
man ag
Šie ir tikai daži no visbiežāk izmantotajiem komandrindas rīkiem, lai meklētu, filtrētu un manipulētu ar tekstu Linux.