Търсете низове или модели в обикновен текст от терминала

за търсене на низове или модели

В следващата статия ще видим някои инструменти за команден ред, използвани за намиране на съвпадащи низове или модели в текстови файлове. Тези инструменти обикновено се използват заедно с регулярни изрази, съкратени като REGEX, които са уникални низове за описание на модел на търсене.

Регулярните изрази са модели, използвани за намиране на определена комбинация от символи в текстов низ. Регулярните изрази предоставят много гъвкав начин за търсене или разпознаване на текстови низове. Въпреки че в следващите редове няма да видим регулярни изрази, ще използваме шаблони или низове.

Търсете низове или модели от терминала

Команда Grep

Греп е съкращение от Глобален печат с редовен израз. Това е мощен инструмент за команден ред, който е полезен при търсене на конкретен низ или шаблон във файл. С grep ще можем да използваме широк спектър от функции, като тези, които колега ни обясни в този блог преди малко.

Синтаксисът за използване на командата grep е доста прост:

grep PATRON [RUTA AL ARCHIVO]

Например за търсене на низа 'Ubuntu'във файл, който в този пример ще извикаме text.txt, без да се взема предвид разликата между главни и малки букви, в терминал (Ctrl + Alt + T) ще трябва само да изпълним командата:

grep -i текст

grep -i Ubuntu texto.txt

Команда sed

Жаждата е съкращение от Редактор на потоци. Това е друг полезен инструмент за терминала, с който можем да манипулираме текст във файл. Sed търси, филтрира и замества низове в даден файл.

Командата sed по подразбиране отпечатва изхода в ИЗКЛЮЧВАНЕ (Стандартен изход). Това означава, че резултатът от изпълнението се отпечатва на терминала, вместо да се записва във файл.

Командата Sed може да се използва, както следва:

sed -OPCIONES COMANDO [RUTA AL ARCHIVO]

Например, за да замените всички появявания на 'Linux„в текст от“Linux', командата за използване ще бъде следната:

Команда sed

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

Ако това, което търсим, е пренасочете изхода към файл, вместо да го отпечатате на терминала, ще използваме знака за пренасочване, както следва:

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

Резултатът от командата се записва във файла output.txt вместо да се отпечатва на екрана.

изход на командата sed

За да видите повече опции, можете консултирайте се с ръководствата:

човек жаден

man sed

Ак

Ack е инструмент за бърз команден ред, написан на Perl. Смята се за приятелски заместител на помощната програма grep, което също генерира резултати по визуално привлекателен начин.

за инсталирайте ack в нашата система ще трябва да изпълним в терминала (Ctrl + Alt + T):

инсталирайте ack

sudo apt install ack

Командата Ack търси във файла или директорията редовете, които съдържат съвпадението за критериите за търсене. След това маркирайте съответния низ. Този инструмент има способността да различава файлове въз основа на техните разширения.

Синтаксисът на командата Ack ще бъде нещо като следното

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

Например за търсене на термина Linux във файл, ще трябва да изпълним:

командване ack търсене

ack Linux texto.txt

Инструментът за търсене е доста умен и ако потребителят не предостави никакви файлове или директории, той търси текущата директория и поддиректории за модела на търсене.

В следващия пример не е предоставен файл или директория. Ack автоматично разпознава наличния файл в директорията и търси съответстващия модел:

ack търсене без файл

ack Linux

Рипгреп

Рипгреп е междуплатформена програма за търсене на модели на регулярни изрази. Това е по-бързо от всички посочени по-горе инструменти за търсене и търси директории рекурсивно за съвпадение на модели. Също така ви позволява да търсите конкретни типове файлове. По подразбиране ripgrep ще пропусне двоични файлове и скрити файлове / директории.

за инсталирайте ripgrep в системата всичко, което трябва да направите, е да изпълните следната команда в терминала (Ctrl + Alt + T):

инсталация на ripgrep

sudo apt install ripgrep

Синтаксисът за използване на ripgrep е доста ясен:

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

Ако искахме да търсим веригатаLinux'във файлове, намиращи се в текущата директория, ще трябва само да изпълним командата:

човек rg linux

rg Linux

За да видите повече опции, потребителите могат да използват човешки страници:

човек rg

man rg

Търсач на сребро

за инсталирайте този инструментВ Ubuntu ще трябва само да отворим терминал (Ctrl + Alt + T) и да напишем командата:

инсталация silversearcher-ag

sudo apt install silversearcher-ag

Silver Searcher е инструмент за търсене с отворен код на различни платформи, подобен на ack, но с акцент върху скоростта. Улеснява намирането на конкретен низ във файловете за възможно най-кратко време. Синтаксисът, който трябва да се използва, ще бъде:

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

Например, за да търсите „Linuxвъв файла text.txt, ще трябва да напишем в терминала (Ctrl + Alt + T):

търсене със silversearcher

ag Linux texto.txt

За да видите повече опции, можем да се консултираме с човешки страници:

човек silversearcher

man ag

Това са само някои от най-често използваните инструменти на командния ред за търсене, филтриране и манипулиране на текст в Linux.


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.