Cum să găsiți text în fișiere în Linux

How Find Text Files Linux



Pentru un administrator de sistem, lucrul cu fișiere text este un fenomen obișnuit. Poate că trebuie să găsiți o secțiune specifică din grămezi de fișiere jurnal pentru a depana ceva? Sau, trebuie să găsiți rapid documentul care conține informații esențiale?

În cazul Linux, există numeroase metode de a găsi texte în fișiere. Este posibil să folosiți atât instrumente încorporate, cât și aplicații de la terți. Consultați cum puteți găsi texte în fișiere în Linux.







Găsirea textului în fișiere

În funcție de numărul de fișiere pe care trebuie să efectuați o căutare, există două moduri de a efectua căutarea textului: automat sau manual. Dacă trebuie să lucrați cu câteva fișiere text, căutarea manuală este mai potrivită. Cu toate acestea, dacă există sute de fișiere text, atunci căutarea automată este cea mai eficientă.



Pentru căutare automată, vom folosi grep. Grep vine preinstalat pe orice distribuție Linux. În ceea ce privește căutarea manuală, orice editor de text modern va face treaba.



Găsiți text în fișiere folosind grep

În Linux, grep este instrumentul implicit pentru căutarea textelor. Numele său este derivat din comanda ed g / re / p care înseamnă căutarea globală a unei expresii regulate și imprimarea liniilor de potrivire. Este disponibil pe orice distribuție Linux modernă.





Grep este un instrument de linie de comandă. Structura sa de comandă este următoarea.

$prindere <opțiune> <expresie uzuala> <file_path>

După cum sugerează și numele grep, modelul de căutat este descris folosind o expresie regulată. Expresia regulată este un tip special de șir care descrie un model pentru a se potrivi, localiza și gestiona. Pentru a afla mai multe despre grep și expresia regulată, consultați folosind grep și egrep cu expresie regulată .



În scop demonstrativ, luați un fișier text de probă. În acest exemplu, descărcați fișierul Fișier text GNU General Public License v3.0 .

Căutare de bază

Modul fundamental de utilizare a grep este căutarea unui șir de bază.

Aruncați o privire la următoarea comandă grep. Va căuta cuvântul GNU în fișierul text.

$prindere „GNU”GPL-3.0.txt

Pentru a afișa numărul liniei, utilizați steagul -n.

$prindere -nGNU gpl-3.0.txt

Pentru a efectua o căutare diferențiată de majuscule și minuscule folosind grep, utilizați steagul -i.

$prindere -nignu gpl-3.0.txt

Este posibil să nu doriți să vedeți potrivirile de căutare, ci doar numele fișierului în care s-a întâmplat potrivirea în anumite situații. Pentru a imprima doar numele fișierului, utilizați steagul -l. Aici, asteriscul indică utilizarea tuturor fișierelor text din directorul curent.

$prindere -lagnu*

De asemenea, putem canaliza ieșirea altor comenzi către grep.

$pisicăGPL-3.0.txt| prindere -nGNU

Expresie uzuala

Regex oferă un mod inteligent de a regla fin căutarea. Are propriile reguli. Cu toate acestea, diferite aplicații și limbaje de programare implementează expresia regulată diferit. Iată câteva exemple pe care le puteți folosi cu grep.

Pentru a defini că șirul se găsește la pornirea unei linii, utilizați simbolul caret (^).

$prindere -n^ GNU gpl-3.0.txt

Pentru a defini că șirul se găsește la sfârșitul unei linii, utilizați semnul dolar ($).

$prindere -nla $ gpl-3.0.txt

Pentru a descrie că poate exista orice caracter la o anumită locație a modelului, utilizați caracterul de punct (.). De exemplu, expresia G.U este validă dacă există un caracter între G și U.

$prindere -nG.U gpl-3.0.txt

Pentru a descrie că poate exista un subset de caractere la o anumită locație a modelului, utilizați parantezele ([]). De exemplu, expresia t [wo] o spune că potrivirea este valabilă doar pentru doi.

$prindere -nt[Unde]o gpl-3.0.txt

Expresie regulată extinsă

După cum sugerează și numele, o expresie regulată extinsă poate face lucruri mai complexe decât expresiile regulate de bază. Pentru a utiliza expresia regulată extinsă cu grep, trebuie să utilizați steagul -E.

$prindere -născut <extins_regex> <fişier>

Pentru a căuta două șiruri diferite, utilizați operatorii OR (|).

$prindere -născutGNU|general|Licență gpl-3.0.txt

Găsirea textului în fișiere

Acum vine partea principală. În loc să-i spună manual fișierului grep să efectueze căutarea, grep îl poate face automat. În următoarea comandă, grep va utiliza toate fișierele text disponibile din directorul curent pentru căutarea modelului.

$prindere <regex> *

Dacă doriți să grep pentru a efectua căutarea într-un alt director, atunci trebuie să specificați locația.

$prindere <regex> <calea catre director>

Dacă există dosare, grep nu le explorează în mod prestabilit. Pentru a spune grep să caute recursiv, utilizați steagul -R.

$prindere -nR <regex> <calea catre director>

Grip GUI

Dacă preferați să lucrați cu interfața grafică, dar doriți totuși să vă bucurați de funcțiile grep, consultați searchmonkey. Este o soluție front-end pentru grep. Pachetul este disponibil pe aproape toate distribuțiile Linux principale.

Găsiți text în fișiere folosind nano

GNU Nano este un editor de text simplu și puternic care vine cu orice distribuție Linux. Are funcții încorporate pentru a căuta text într-un fișier text.

Rețineți că, în această metodă, trebuie să deschideți fișierul text și să căutați manual. Este posibil dacă există doar o mână de fișiere text cu care să lucrați. Dacă există mai multe, atunci utilizarea grep este cea mai optimă alegere.

Deschideți fișierul text în nano.

$nano <file_path>

Pentru a căuta o potrivire de șir, apăsați Ctrl + W. După ce ați tastat șirul de căutare, apăsați Enter.

Găsiți text în fișiere folosind Vim

Vim este un editor de text bine cunoscut și reputat. Este echivalentul în linie de comandă al unui editor de text modern. Vim vine cu numeroase funcții avansate precum pluginuri, macrocomenzi, completare automată, filtre etc.

Similar cu nano, Vim funcționează cu un singur fișier la un moment dat. Dacă aveți mai multe fișiere text, atunci utilizarea grep este cel mai optim mod de a merge.

Pentru a căuta într-un fișier text, mai întâi deschideți-l în Vim.

$am venit <file_path>

Introduceți următoarea comandă Vim și apăsați Enter.

$:/<termen de căutare>

Găsiți text în fișiere utilizând Editorul de text GNOME

Editorul de text GNOME este editorul de text care vine cu desktopul GNOME. Este un editor de text simplist, cu toate caracteristicile de bază la care vă așteptați. Este o alternativă plăcută la editorii de text din linia de comandă.

Similar cu nano și vim, aceeași precauție se aplică acestei metode. Dacă numărul fișierelor text este mare, atunci mai bine rămâneți cu grep.

Deschideți fișierul text în Editorul de text. Apăsați Ctrl + F pentru a afișa bara de căutare.

Găsiți text în fișiere folosind VS Code

Visual Studio Code este un editor de text puternic, cu multe funcții. Este optimizat pentru ca programatorii să poată fi folosiți ca și cum ar fi un IDE cu drepturi depline. Este disponibil pe aproape toate distribuțiile principale Linux.

Instalați pachetul snap Visual Studio Code.

$sudotrageinstalarecod--clasic

Deschideți fișierul text în VS Code. Apăsați Ctrl + F pentru a începe căutarea.

Gânduri finale

Există numeroase modalități de a căuta text în fișiere. Este o sarcină ușor de stăpânit. Este foarte recomandat să stăpâniți comanda grep, deoarece oferă cea mai mare valoare în ceea ce privește eficiența și ușurința utilizării.

Dacă preferați GUI, atunci există numeroși editori de text din care să alegeți. Orice editor de text modern va oferi opțiunea de căutare a textului.

Calcul fericit!