В следующей статье мы увидим некоторые инструменты командной строки, используемые для поиска совпадающих строк или шаблонов в текстовых файлах. Эти инструменты обычно используются вместе с регулярными выражениями, сокращенно РЕГЭКС, которые представляют собой уникальные строки, описывающие шаблон поиска.
Регулярные выражения - это шаблоны, используемые для поиска определенной комбинации символов в текстовой строке. Регулярные выражения обеспечивают очень гибкий способ поиска или распознавания текстовых строк.. Хотя в следующих строках мы не увидим регулярных выражений, мы будем использовать шаблоны или строки.
Поиск строк или паттернов с терминала
Команда grep
Grep - это аббревиатура от Печать глобального регулярного выражения. Это мощный инструмент командной строки, который полезен при поиске определенной строки или шаблона в файле. С помощью grep мы сможем использовать широкий спектр функций, например, те, которые коллега объяснил нам в этом блоге некоторое время назад.
Синтаксис использования команды grep довольно прост:
grep PATRON [RUTA AL ARCHIVO]
Например, чтобы найти строку 'Ubuntu'в файле, который в этом примере мы будем называть text.txt, не принимая во внимание различие между верхним и нижним регистром, в терминале (Ctrl + Alt + T) нам нужно будет только выполнить команду:
grep -i Ubuntu texto.txt
Команда sed
Жажда - это сокращение от Редактор потока. Это еще один полезный инструмент для терминала, с помощью которого мы можем управлять текстом в файле. Sed ищет, фильтрует и заменяет строки в заданном файле.
Команда sed по умолчанию выводит результат в стандартный вывод (Стандартный вывод). Это означает, что результат выполнения выводится на терминал, а не сохраняется в файл.
Команду Sed можно использовать следующим образом:
sed -OPCIONES COMANDO [RUTA AL ARCHIVO]
Например, чтобы заменить все вхождения 'Linux'в тексте'ГнуЛинукс', используйте следующую команду:
sed 's/Linux/GnuLinux/g' texto.txt
Если мы ищем перенаправить вывод в файл вместо его вывода на терминал, мы собираемся использовать знак перенаправления следующим образом:
sed 's/Linux/GnuLinux/g' texto.txt > salida.txt
Вывод команды сохраняется в файле output.txt вместо того, чтобы печататься на экране.
Чтобы увидеть больше вариантов, вы можете обратитесь к страницам руководства:
man sed
Ack
Ack - это быстрый инструмент командной строки, написанный на Perl. Считается дружественной заменой утилите grep., который также дает визуально привлекательные результаты.
к установить подтверждение в нашей системе нам нужно будет выполнить в терминале (Ctrl + Alt + T):
sudo apt install ack
Команда Ack ищет в файле или каталоге строки, которые соответствуют критериям поиска.. Затем выделите соответствующую строку. Этот инструмент имеет возможность различать файлы по их расширениям.
Синтаксис команды Ack будет примерно таким:
ack [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Например, для поиска термина Linux в файле нам нужно будет выполнить:
ack Linux texto.txt
Инструмент поиска довольно умный и если пользователь не предоставляет никаких файлов или каталогов, он ищет в текущем каталоге и подкаталогах шаблон поиска..
В следующем примере файл или каталог не указаны. Ack автоматически обнаруживает доступный файл в каталоге и ищет соответствующий шаблон:
ack Linux
Рипгреп
Рипгреп кроссплатформенная утилита для поиска шаблонов регулярных выражений. Это быстрее, чем все упомянутые выше инструменты поиска, и он рекурсивно ищет в каталогах совпадающие шаблоны. Он также позволяет искать файлы определенных типов. По умолчанию ripgrep пропускает двоичные файлы и скрытые файлы / каталоги.
к установить ripgrep в системе все, что вам нужно сделать, это запустить следующую команду в терминале (Ctrl + Alt + T):
sudo apt install ripgrep
Синтаксис использования ripgrep довольно прост:
rg [OPCIONES] PATRÓN [RUTA AL ARCHIVO]
Если бы мы хотели найти цепочку 'Linux'в файлах, расположенных в текущем каталоге, нам нужно будет только выполнить команду:
rg Linux
Чтобы увидеть больше вариантов, пользователи могут использовать страницы руководства:
man rg
Серебряный искатель
к установить этот инструментВ Ubuntu нам нужно будет только открыть терминал (Ctrl + Alt + T) и написать команду:
sudo apt install silversearcher-ag
Silver Searcher - это кроссплатформенный инструмент поиска с открытым исходным кодом, похожий на ack, но с упором на скорость.. Это позволяет легко найти определенную строку в файлах в кратчайшие сроки. Используемый синтаксис:
ag OPCIONES PATRÓN_DE_BÚSQUEDA /ruta/al/archivo
Например, для поиска "Linux'в файле text.txt, нам нужно было бы написать в терминале (Ctrl + Alt + T):
ag Linux texto.txt
Чтобы увидеть больше вариантов, мы можем обратиться к страницы руководства:
man ag
Это лишь некоторые из наиболее часто используемых инструментов командной строки для поиска, фильтрации и управления текстом в Linux.