В следващата статия ще видим някои инструменти за команден ред, използвани за намиране на съвпадащи низове или модели в текстови файлове. Тези инструменти обикновено се използват заедно с регулярни изрази, съкратени като REGEX, които са уникални низове за описание на модел на търсене.
Регулярните изрази са модели, използвани за намиране на определена комбинация от символи в текстов низ. Регулярните изрази предоставят много гъвкав начин за търсене или разпознаване на текстови низове. Въпреки че в следващите редове няма да видим регулярни изрази, ще използваме шаблони или низове.
Търсете низове или модели от терминала
Команда 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„в текст от“Linux', командата за използване ще бъде следната:
sed 's/Linux/GnuLinux/g' texto.txt
Ако това, което търсим, е пренасочете изхода към файл, вместо да го отпечатате на терминала, ще използваме знака за пренасочване, както следва:
sed 's/Linux/GnuLinux/g' texto.txt > salida.txt
Резултатът от командата се записва във файла output.txt вместо да се отпечатва на екрана.
За да видите повече опции, можете консултирайте се с ръководствата:
man sed
Ак
Ack е инструмент за бърз команден ред, написан на Perl. Смята се за приятелски заместител на помощната програма grep, което също генерира резултати по визуално привлекателен начин.
за инсталирайте ack в нашата система ще трябва да изпълним в терминала (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.