Как использовать команду Sed с регулярным выражением?

Команда «more» в Linux с примерами Изучение

Команда sed имеет длинный список поддерживаемых операций, которые можно выполнять, чтобы упростить процесс редактирования текстовых файлов. Это позволяет пользователям применять выражения, которые обычно используются в языках программирования; одним из основных поддерживаемых выражений является регулярное выражение (regex).

Регулярное выражение используется для управления текстом внутри текстовых файлов, с помощью регулярного выражения шаблон, который состоит из строки, и эти шаблоны затем используются для сопоставления или поиска текста. Регулярное выражение широко используется в языках программирования, таких как Python, Perl, Java, и его поддержка также доступна для программ командной строки, таких как grep, и нескольких текстовых редакторов, таких как sed.

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

Как использовать регулярное выражение в sed

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

Соответствие слову

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

Получим содержимое файла с помощью указанной ниже команды:

cat laptops.txt

Используйте следующую команду, чтобы получить слово ACER :

sed -n ‘/ACER/p’ laptops.txt

Все слова начинаются с определенного символа

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

Если вы хотите найти и сопоставить слова, которые начинаются и заканчиваются определенным символом, для этого вы должны использовать знак » * » между символами; но замечено, что символ » * » печатает слова, которые начинаются с одной или нескольких » А «, но с одной » R «: например, команда, написанная ниже, напечатает все слова, которые начинаются с одной или нескольких » А » и заканчивается одиночной буквой » R «:

sed -n ‘/A*R/p’ laptops.txt

Чтобы сопоставить слово, которое заканчивается определенным символом или содержит только указанный символ: команда, написанная ниже, отобразит слова с символом » P » или точным словом » HP «:

sed -n ‘/H\?P/p’ laptops.txt

Соответствие слов определенному символу

Замечено, что вы можете получить слова, содержащие любой символ, с помощью команды sed: Например, указанная ниже команда найдет слова, содержащие один из этих символов „A“, „H“ или „D“ :

sed -n ‘/[AHD]/p’ laptops.txt

Соответствие строки

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

Мы использовали » file.txt «, чтобы использовать его в качестве примера в этом разделе; этот файл содержит следующее содержимое:

cat file.txt

Например, если вы хотите напечатать все строки; в этом вам поможет следующая команда:

sed -n ‘/.\+/p’ file.txt

Если вы хотите получить все строки, которые начинаются с символа » a «, вы должны использовать символ моркови ( ^ ), чтобы указать начальный символ строки.

Команда, упомянутая ниже, пока не напечатает строки, начинающиеся с » @ «:

sed -n ‘^@’ file.txt

Более того, если вы хотите получить только те строки, которые заканчиваются определенным символом, вы должны использовать » $ » с этим символом. Например, написанная здесь команда напечатает строки, заканчивающиеся на » # «:

sed -n ‘/#$/p’ file.txt

Соответствие пустым строкам

Поддержка регулярных выражений команды sed позволяет пользователю печатать / удалять пустые строки с помощью » / ^ $ / «; следующая команда напечатает пустые строки в файле » laptops.txt «:

sed -n ‘/^$/p’ laptops.txt

Или вы можете удалить, заменив » p » на » d » в приведенной выше команде, как показано ниже:

sed -n ‘/^$/d’ laptops.txt

Соответствие регистру букв

Команда sed позволяет пользователям манипулировать словами с определенным регистром букв:

Например, вы можете печатать, удалять, заменять слова в буквенном регистре с помощью команды sed:

В этом примере используется текстовый файл с именем » test.txt «, содержимое этого файла распечатывается с помощью следующей команды:

cat test.txt

Соответствие строчных букв

Следующая команда напечатает все те слова, которые содержат строчные буквы:

sed -n ‘/[a-z]/p’ test.txt

Соответствие заглавным буквам

Или вы можете распечатать слова, содержащие буквы в верхнем регистре, выполнив следующую команду в терминале:

sed -n ‘/[A-Z]/p’ test.txt

Заключение

Регулярные выражения (регулярные выражения) называются; любое слово или последовательность символов, которая используется для получения совпадающих слов из любого текстового файла. Они обеспечивают обширную поддержку нескольких языков программирования, а также команд или программ Ubuntu. Наряду с этим регулярным выражением Ubuntu предоставляет поддержку обширных команд, которые упрощают процесс выполнения утомительных задач. Утилита командной строки sed в Ubuntu позволяет очень легко выполнять несколько утомительных задач для выполнения нескольких операций с текстовыми файлами. Мы составили это руководство, чтобы разъяснить преимущества объединения регулярных выражений с sed; это совместное предприятие обеспечивает продвинутый уровень сопоставления и поиска внутри текстовых файлов. Регулярные выражения нуждаются в помощи символов, которые используются для сопоставления для выполнения различных задач, таких как удаление, печать, замена или управление текстом внутри текстовых файлов.

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