Sök efter strängar eller mönster i klartext från terminalen

om sökning efter strängar eller mönster

I följande artikel kommer vi att se några kommandoradsverktyg som används för att hitta matchande strängar eller mönster i textfiler. Dessa verktyg används vanligtvis i kombination med reguljära uttryck, förkortat som REGEX, som är unika strängar för att beskriva ett sökmönster.

Regeluttryck är mönster som används för att hitta en viss kombination av tecken i en textsträng. Regeluttryck ger ett mycket flexibelt sätt att söka eller känna igen textsträngar. Även om vi på följande rader inte ser reguljära uttryck kommer vi att använda mönster eller strängar.

Sök efter strängar eller mönster från terminalen

Grep-kommando

Grep är en förkortning för Globalt tryck på vanligt uttryck. Detta är ett kraftfullt kommandoradsverktyg som är användbart när du letar efter en specifik sträng eller ett mönster i en fil. Med grep vi kommer att kunna använda ett brett spektrum av funktioner, till exempel de som en kollega förklarade för oss i den här bloggen för ett tag sedan.

Syntaksen för att använda kommandot grep är ganska enkelt:

grep PATRON [RUTA AL ARCHIVO]

Till exempel för att söka efter strängen 'ubuntu'i en fil som vi i det här exemplet kommer att ringa text.txtutan att ta hänsyn till skillnaden mellan stora och små bokstäver, i en terminal (Ctrl + Alt + T) behöver vi bara utföra kommandot:

grep -i text

grep -i Ubuntu texto.txt

Kommando sed

Törst är förkortning för StreamEditor. Det är ett annat användbart verktyg för terminalen som vi kan manipulera text i en fil med. Sed söker, filtrerar och ersätter strängar i en viss fil.

Sed-kommandot skriver ut utdata som standard STOUT (Standardutgång). Detta innebär att resultatet av körningen skrivs ut till terminalen istället för att sparas i en fil.

Sed-kommandot kan användas på följande sätt:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Till exempel för att ersätta alla förekomster av 'Linux'i en text av'Linux', kommandot att använda skulle vara följande:

Kommando sed

sed 's/Linux/GnuLinux/g' texto.txt

Om det vi letar efter är omdirigera utdata till en fil istället för att skriva ut den till terminalen, vi ska använda omdirigeringstecknet enligt följande:

sed 's/Linux/GnuLinux/g' texto.txt > salida.txt

Utdata från kommandot sparas i filen output.txt istället för att skrivas ut på skärmen.

sed kommandoutgång

För att se fler alternativ kan du konsultera man-sidorna:

man törstig

man sed

ack

Ack är ett snabbt kommandoradsverktyg skrivet i Perl. Det anses vara en vänlig ersättning för grep-verktyget, vilket också ger resultat på ett visuellt attraktivt sätt.

till installera ack i vårt system måste vi köra i terminalen (Ctrl + Alt + T):

installera ack

sudo apt install ack

Kommandot Ack söker i filen eller katalogen efter de rader som innehåller matchningen för sökkriterierna. Markera sedan motsvarande sträng. Detta verktyg har förmågan att skilja filer utifrån deras tillägg.

Syntaxen för Ack-kommandot skulle vara ungefär följande

ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Till exempel för att söka efter termen Linux i en fil skulle vi behöva köra:

kommando ack-sökning

ack Linux texto.txt

Sökverktyget är ganska smart och om användaren inte tillhandahåller några filer eller kataloger, söker den i den aktuella katalogen och underkatalogerna efter sökmönstret.

I följande exempel tillhandahålls ingen fil eller katalog. Ack upptäcker automatiskt den tillgängliga filen i katalogen och letar efter matchande mönster:

ACK-sökning utan fil

ack Linux

ripgrep

ripgrep är ett plattformsverktyg för att söka efter mönster för reguljära uttryck. Det är snabbare än alla sökverktyg som nämnts ovan, och det söker i kataloger rekursivt efter matchande mönster. Det låter dig också söka efter specifika filtyper. Som standard hoppar ripgrep över binärer och dolda filer / kataloger.

till installera ripgrep på systemet är allt du behöver göra att köra följande kommando i terminalen (Ctrl + Alt + T):

ripgrep-installation

sudo apt install ripgrep

Syntaxen för att använda ripgrep är ganska enkel:

rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]

Om vi ​​ville söka efter kedjan 'Linux'i filer som finns i den aktuella katalogen behöver vi bara utföra kommandot:

manrg linux

rg Linux

För att se fler alternativ kan användare använda man-sidor:

man rg

man rg

Silversökare

till installera det här verktyget, i Ubuntu behöver vi bara öppna en terminal (Ctrl + Alt + T) och skriva kommandot:

silversearcher-ag installation

sudo apt install silversearcher-ag

Silver Searcher är ett plattforms, öppen källkodsverktyg som liknar ACK men med tonvikt på hastighet. Det gör det enkelt att hitta en specifik sträng i filer på kortast möjliga tid. Syntaxen att använda skulle vara:

ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo

Till exempel för att söka efter 'Linux'i filen text.txt, skulle vi behöva skriva i terminalen (Ctrl + Alt + T):

sök med silverforskare

ag Linux texto.txt

För att se fler alternativ kan vi konsultera man-sidor:

man silverforskare

man ag

Det här är bara några av de mest använda kommandoradsverktygen för att söka, filtrera och manipulera text i Linux.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.