Вопросы с тегом «regular-expression»

Регулярные выражения - это средство сопоставления шаблона символов в строке.

13
Как выполнить поиск для нескольких шаблонов с шаблоном, имеющим символ трубы?
Я хочу найти все строки в нескольких файлах, которые соответствуют одному из двух шаблонов. Я попытался найти шаблоны, которые я ищу, набрав grep (foo|bar) *.txt но оболочка интерпретирует это |как канал и жалуется, когда barне является исполняемым файлом. Как я могу grep для нескольких шаблонов в одном наборе файлов?

8
Может ли grep выводить только указанные группы, которые совпадают?
Скажи, у меня есть файл: # file: 'test.txt' foobar bash 1 bash foobar happy foobar Я только хочу знать, какие слова появляются после "foobar", поэтому я могу использовать это регулярное выражение: "foobar \(\w\+\)" Скобки указывают, что у меня есть особый интерес к слову сразу после foobar. Но когда я делаю …


14
Как я могу использовать sed для замены многострочной строки?
Я заметил, что если я добавлю \nшаблон для замены с использованием sed, он не будет соответствовать. Пример: $ cat > alpha.txt This is a test Please do not be alarmed $ sed -i'.original' 's/a test\nPlease do not/not a test\nBe/' alpha.txt $ diff alpha.txt{,.original} $ # No differences printed out Как …


8
Как запустить grep с несколькими шаблонами AND?
Я хотел бы получить совпадение нескольких шаблонов с неявным AND между шаблонами, т.е. эквивалентно запуску нескольких greps в последовательности: grep pattern1 | grep pattern2 | ... Так как же преобразовать его в нечто подобное? grep pattern1 & pattern2 & pattern3 Я хотел бы использовать один grep, потому что я строю …

7
Использование sed для поиска и замены сложной строки (желательно с регулярным выражением)
У меня есть файл со следующим содержанием: <username><![CDATA[name]]></username> <password><![CDATA[password]]></password> <dbname><![CDATA[name]]></dbname> и мне нужно сделать скрипт, который меняет «имя» в первой строке на «что-то», «пароль» во второй строке на «что-то другое», а «имя» в третьей строке на «что-то другое». Я не могу полагаться на порядок их появления в файле, поэтому я …

1
Почему мое регулярное выражение работает в X, а не в Y?
Я написал регулярное выражение, которое хорошо работает в определенной программе (grep, sed, awk, perl, python, ruby, ksh, bash, zsh, find, emacs, vi, vim, gedit,…). Но когда я использую его в другой программе (или в другом варианте Unix), он перестает совпадать. Почему?


2
Grep 'ИЛИ' проблема с регулярным выражением
Я пытаюсь использовать grep с регулярным выражением, чтобы найти строки в файле, которые соответствуют 1 из 2 возможных строк. Вот мой grep: $ grep "^ID.*(ETS|FBS)" my_file.txt Вышеуказанный grep не возвращает результатов. Однако, если я выполню либо: $ grep "^ID.*ETS" my_file.txt или же $ grep "^ID.*FBS" my_file.txt Я соответствую определенным линиям. …

5
Как различать файлы, игнорируя комментарии (строки начинающиеся с #)?
У меня есть два файла конфигурации, оригинальный от менеджера пакетов и один измененный мной. Я добавил несколько комментариев для описания поведения. Как мне запустить diffфайлы конфигурации, пропуская комментарии? Комментируемая строка определяется как: необязательный начальный пробел (табуляции и пробелы) знак хеша ( #) ничего другого персонажа (Простейший) регулярное выражение пропуская первое …


9
Простая замена седана при загадочных ошибках
Это должно быть действительно просто, но по какой-то причине это не работает: sed -i.bak -E 's/\t/ /' file.txt Вместо замены символов табуляции, это замена tсимволов. Я перепробовал все варианты, которые мог придумать, играя с цитатами и т. Д. Я гуглил и нашел всех остальных, использующих довольно похожие выражения, и они, …

7
Найти файлы в нескольких именах папок
Я пытаюсь перечислить все файлы из dir1, dir2, dir3и dir4которые могут быть в любом месте , как подкаталог моих с cwdпомощью findкоманды. Я попробовал следующее безуспешно: find . -type f -regextype posix-egrep -regex 'dir1/.+|dir2/.+|dir3/.+|dir4/.+' Я тоже старался posix-extended. Как я могу перечислить эти файлы?


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.