Как найти текст в файлах в Linux

Для системного администратора работа с текстовыми файлами — обычное явление. Может быть, нужно найти конкретный раздел из груд файлов журналов для устранения каких-либо неполадок? Или вам нужно быстро найти документ, содержащий важную информацию?

В случае Linux существует множество методов для поиска текстов в файлах. Это возможно с использованием как встроенных инструментов, так и сторонних приложений. Узнайте, как искать текст в файлах в Linux.

Поиск текста в файлах

В зависимости от количества файлов, в которых вам нужно выполнить поиск, существует два способы выполнения текстового поиска: автоматический или ручной. Если вам нужно работать с парочкой текстовых файлов, больше подходит ручной поиск. Однако при наличии сотен текстовых файлов автоматический поиск наиболее эффективен.

Для автоматического поиска мы будем использовать grep. Grep предустановлен в любом дистрибутиве Linux. Что касается ручного поиска, то с этим справится любой современный текстовый редактор.

Поиск текста в файлах с помощью grep

В Linux grep является инструментом по умолчанию для поиска текстов. Его название происходит от команды ed g/re/p, что означает «глобальный поиск регулярного выражения и печать совпадающих строк». Он доступен в любом современном дистрибутиве Linux.

Grep — это инструмент командной строки. Его командная структура выглядит следующим образом.

$ grep

Как имя grep предполагает, что шаблон для поиска описывается с помощью регулярного выражения. Регулярное выражение — это особый тип строки, описывающий шаблон для сопоставления, поиска и управления. Чтобы узнать больше о grep и регулярном выражении, ознакомьтесь с использованием grep и egrep с регулярным выражением.

Для демонстрационных целей возьмите образец текстового файла. В этом примере загрузите текстовый файл GNU General Public License v3.0.

Основным способом использования grep является поиск базовой строки.

Взгляните на следующую команду grep. Он будет искать слово «GNU» в текстовом файле.

$ grep «GNU» gpl-3.0.txt

Чтобы показать номер строки, используйте флаг «-n».

$ grep -n «GNU» gpl-3.0.txt

Чтобы выполнить поиск без учета регистра с помощью grep, используйте флаг« -i ».

$ grep — ni «gnu» gpl-3.0.txt

Возможно, вы захотите видеть не совпадения поиска, а только имя файла, в котором совпадение произошло в некоторых ситуациях. Чтобы напечатать только имя файла, используйте флаг «-l». Здесь звездочка означает использование всех текстовых файлов в текущем каталоге.

$ grep -l «gnu» *

Мы также можем передать вывод других команд в grep.

$ cat gpl-3.0. txt | grep -n «GNU»

Обычный выражение

Regex предлагает умный способ точной настройки поиска. Здесь свои правила. Однако разные приложения и языки программирования по-разному реализуют регулярные выражения. Вот несколько примеров, которые вы можете использовать с grep.

Чтобы определить, что строка должна быть найдена в начале строки, используйте символ каретки (^).

$ grep -n «^ GNU» gpl-3.0.txt

Чтобы определить, что строка должна находиться в конце строки, используйте знак доллара ($).

$ grep -n «to $» gpl-3.0.txt

Чтобы указать, что в определенном месте шаблона может быть любой символ, используйте символ точки (.). Например, выражение «GU» допустимо, если между «G» и «U» есть какой-либо символ.

$ grep -n «GU» gpl-3.0.txt

Чтобы описать, что может быть подмножество символов в определенном месте шаблона используйте квадратные скобки ([]). Например, выражение «t ​​[wo] o» говорит о том, что совпадение допустимо только для «два» и «слишком».

$ grep -n «t [wo ] o ”gpl-3.0.txt

Расширенное регулярное выражение

Как следует из названия, расширенное регулярное выражение может выполнять более сложные задачи, чем базовые регулярные выражения. Чтобы использовать расширенное регулярное выражение с grep, вы должны использовать флаг «-E».

$ grep -nE

Для поиска двух разных строк используйте операторы OR (|).

$ grep -nE «GNU | General | License» gpl-3.0. txt

Поиск текста в файлах

Теперь самое главное. Вместо того, чтобы вручную указывать grep файл для выполнения поиска, grep может сделать это автоматически. В следующей команде grep будет использовать все доступные текстовые файлы в текущем каталоге для поиска шаблона.

$ grep *

Если вы хотите, чтобы grep выполнял поиск в другом каталоге, вам необходимо указать местоположение.

$ grep

Если папки есть, grep не ‘ не исследовать их по умолчанию. Чтобы указать grep выполнять рекурсивный поиск, используйте флаг «-R».

$ grep -nR

Grep GUI

Если вы предпочитаете работать с графическим интерфейсом но все же хотите пользоваться функциями grep, попробуйте searchmonkey. Это интерфейсное решение для grep. Пакет доступен практически во всех основных дистрибутивах Linux..

Поиск текста в файлах с помощью nano

GNU Nano — простой и мощный текстовый редактор, который поставляется с любым дистрибутивом Linux. Он имеет встроенные функции для поиска текста в текстовом файле.

Обратите внимание, что в этом методе вы должны открыть текстовый файл и выполнить поиск вручную. Это выполнимо, если нужно работать только с несколькими текстовыми файлами. Если их больше, то использование grep является наиболее оптимальным выбором.

Откройте текстовый файл в nano.

$ nano

Для поиска совпадения строки нажмите « Ctrl + W ». После ввода строки для поиска нажмите «Enter».

Находите текст в файлах с помощью Vim

Vim — известный и известный текстовый редактор. Это эквивалент командной строки современного текстового редактора. Vim имеет множество расширенных функций, таких как плагины, макросы, автозаполнение, фильтры и т. Д.

Подобно nano, Vim работает с одним файлом за раз. Если у вас несколько текстовых файлов, то использование grep — самый оптимальный способ.

Для поиска в текстовом файле сначала откройте его в Vim.

$ vim

Введите следующую команду Vim и нажмите «Enter».

$:/

Поиск текста в файлах с помощью текстового редактора GNOME

Текстовый редактор GNOME — это текстовый редактор, поставляемый с рабочим столом GNOME. Это упрощенный текстовый редактор со всеми основными функциями, которые вы ожидаете. Это хорошая альтернатива текстовым редакторам командной строки.

Подобно nano и vim, к этому методу применяются те же меры предосторожности. Если количество текстовых файлов велико, лучше придерживаться grep.

Откройте текстовый файл в текстовом редакторе. Нажмите «Ctrl + F», чтобы открыть панель поиска.

Поиск текста в файлах с помощью VS Code

Visual Studio Code — мощный текстовый редактор с множеством функций. Он оптимизирован для использования программистами, как если бы это была полноценная IDE. Он доступен почти во всех основных дистрибутивах Linux.

Установите пакет оснастки Visual Studio Code.

$ sudo snap install code —classic

Откройте текстовый файл в VS Code. Нажмите «Ctrl + F», чтобы начать поиск.

Final мысли

Существует множество способов поиска текста в файлах. Это простая задача. Настоятельно рекомендуется освоить команду grep, потому что она предлагает наибольшую ценность с точки зрения эффективности и простоты использования.

Если вы предпочитаете графический интерфейс, тогда есть множество текстовых редакторов на выбор. Любой современный текстовый редактор предоставит возможность поиска текста..

Удачных вычислений!

Оцените статью
nanomode.ru
Добавить комментарий