Руководство для начинающих

Как найти строку в файле в Linux

Как найти строку в файле в Linux

Иногда вам может потребоваться поиск определенного слова или строки внутри файла. Для этого почти каждый текстовый редактор имеет некоторую реализацию графического интерфейса, которая поможет вам. Но для пользователей Linux гораздо продуктивнее и удобнее выполнять эти поиски из командной строки.

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

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

Примечание: Для этого урока мы создали два демонстрационных текстовых файла - demofile.txt и demofile02.текст. Мы будем использовать команду grep для поиска строк в этих файлах. Вот посмотрите содержимое обоих этих файлов, чтобы вы знали, как работают команды.

Содержание демофайла.текст:

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

Содержимое demofile02.текст:

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

Поиск строк в файле через командную строку (метод GREP)

GREP - это сокращение от Global Regular Expression Print. Он «Глобальный», потому что может выполнять поиск по всей вашей системе Linux. «Регулярное выражение» - это то, что мы называем шаблоном текстового поиска, который мы будем использовать с командой. А «Печать» означает, что он распечатает результаты поиска, как только найдет совпадение на основе предоставленного регулярного выражения.

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

$ grep нить имя файла

Вам нужно будет заменить выражение «строка» на «регулярное выражение», которое вы хотите использовать, а «имя файла» на имя файла, в котором вы хотите найти строку.

# 1. Использование GREP для поиска строки в одном файле

Итак, допустим, вы хотите найти слово «демонстрация» в файле «demofile.txt », вам нужно будет использовать эту команду:

демонстрационный демофайл $ grep.текст

Что дает результат:

Использование GREP для поиска строки в одном файле

Как видите, команда извлекает всю строку, содержащую предоставленную строку. Если указанная строка встречается в нескольких строках, он напечатает их все. Посмотрим, работает ли это, выполнив поиск строки «This» в «демофайле.txt »файл.

$ grep Этот демофайл.текст

И результат:

grep чувствителен к регистру

Обратите внимание, как вы сначала использовали строку «this», и она ничего не напечатала. Только когда вы вводите «Это», вы получаете совпадение. Таким образом, вы должны помнить, что команда grep чувствительна к регистру.

Чтобы игнорировать регистр, вам нужно вместо этого ввести эту команду:

$ grep -i этот демофайл.текст

Как игнорировать регистр в команде grep

Как вы теперь можете видеть, даже если предоставленная строка - это «это», команда соответствует «Это» и выводит этот ответ.

# 2. Использование GREP для поиска одной и той же строки в нескольких файлах

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

Вот пример. Здесь мы ищем строку «слова» в файлах «demofile.txt »и« demofile02.текст":

Демофайл $ grep words.txt demofile02.текст

И вывод:

Использование GREP для поиска одной и той же строки в нескольких файлах

Как видите, команда grep не только покажет вам совпавший результат, но и удобно пометит, из какого файла она находится.

# 3. Использование GREP для поиска нескольких строк в нескольких файлах

Вы также можете использовать grep для поиска нескольких строк в одном или нескольких файлах. Это синтаксис, который вам придется использовать:

$ grep -E 'шаблон1 | шаблон2 | шаблон3 |…' имя_файла1 имя_файла2 имя_файла3 .. 

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

Теперь давайте воспользуемся тем, что мы узнали, для поиска строк «файл» и «слова» в двух файлах: «demofile.txt »и« demofile02.текст":

$ grep -E 'файл | слово' демофайл.txt demofile02.текст

И вывод:

Использование GREP для поиска нескольких строк в нескольких файлах

# 4. Советы и рекомендации по использованию команды GREP для поиска строк

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

Например, знаете ли вы, что можно использовать команду grep с подстановочными знаками? Рассмотрим эту команду:

Демофайл $ grep word *

Что дает результат:

grep и подстановочные знаки

Как видите, команда выполнила поиск и теперь показывает результаты для обоих файлов «demofile.txt »и« demofile02.текст". Это связано с тем, что мы использовали подстановочный знак звездочки (*), используемый для представления одного или нескольких вхождений любого символа.

Для получения дополнительной информации о различных типах подстановочных знаков и о том, как их использовать, вы можете прочитать это: Подстановочные знаки в Linux, объясненные с помощью 10 примеров.

В дальнейшем команда grep также поддерживает множество командных параметров. К настоящему времени мы уже видели два из них:

Есть много других параметров команды grep, например:

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

Поиск строк в файле через командную строку (с помощью текстовых редакторов командной строки)

Команда grep - это мощный инструмент, который может помочь вам выполнить расширенный поиск, чтобы сопоставить строки с несколькими файлами и каталогами на вашем ПК с Linux. Однако, если у вас уже есть файл, открытый в текстовом редакторе командной строки, нет необходимости выходить из редактора файлов и использовать команду grep.

Фактически, большинство текстовых редакторов командной строки уже имеют встроенную функцию поиска.

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

Как найти текстовую строку в nano?

Допустим, у вас открыт файл в текстовом редакторе nano. В этом случае все, что вам нужно сделать, это нажать Ctrl + W, и вы найдете новое приглашение для ввода строки.

После этого нажмите Enter, и курсор окажется на первом символе первого вхождения искомой строки. Вы можете продолжать нажимать Enter, чтобы перейти к другим экземплярам строки, если таковые имеются.

Как найти текстовую строку в nano

Как найти текстовую строку в vim?

Если вы используете текстовый редактор vim, вы можете ввести: /, за которым следует строка, которую вы хотите найти, а затем нажмите Enter. Как и раньше, он установит курсор на первое вхождение искомой строки. Здесь вы также можете продолжать нажимать Enter, чтобы перейти к другим экземплярам строки.

Как найти текстовую строку в vim

Поиск строк в файле через командную строку (метод GUI)

Есть даже метод с графическим интерфейсом для поиска строк в файле. По сути, это похоже на функцию «найти и заменить», которую вы можете увидеть в Microsoft Word; однако это будет зависеть от того, какой текстовый редактор графического интерфейса вы используете.

Сейчас, как вы знаете, существуют сотни текстовых редакторов, и описывать их здесь нецелесообразно. Однако все они работают одинаково, поэтому у вас не возникнет проблем при работе с другими, если вы узнаете, как работает один из них.

В этом руководстве мы будем использовать текстовый редактор по умолчанию, который поставляется с Ubuntu, под названием «Текстовый редактор.”

Как найти строку с помощью текстовых редакторов графического интерфейса пользователя

Как видно из изображения, мы открыли демо-файл.txt в редакторе. Теперь мы нажимаем на раскрывающееся меню, в котором отображаются параметры «Найти» и «Найти и заменить», которые мы можем использовать для поиска любых строк в открытом файле.

Подведение итогов

Итак, это подводит нас к концу этого короткого руководства по поиску строк в файле в Linux. Мы надеемся, что вы найдете это полезным и помогли вам стать более продуктивным в поиске определенных строк в вашей системе Linux.

Если у вас есть какие-либо вопросы, оставьте нам комментарий, и мы обязательно поможем вам с вашими запросами.

Если вы начинаете с Linux, не забудьте ознакомиться с нашей серией статей Learn Linux. Он наполнен множеством потрясающих руководств, инструкций и руководств, предназначенных для начинающих и более опытных пользователей, которые помогут вам стать настоящим опытным пользователем Linux.

Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...
Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...