Как я могу найти соответствия с sed (или подобный) для параметров конфигурации?

Ядро Fedora 15 видов советника SELinux прокладывают себе путь (это открывается Окно GUI, когда нарушение защиты обнаруживается в SELinux и советует workaronds, если попытка законна). Как это сделано, тем не менее, я не знаю.

3
27.11.2012, 21:06
2 ответа

Если Вы хотите использовать подобные perl регулярные выражения, почему бы не использовать жемчуг (который найден на 99% невстроенных Нельдов)?

Как:

perl -lne 'print for /(http.*?)\$/'

perl -lne 'print for m{database\s*=\s*mysql://([^:@]+):([^@]+)@([^/]+)/(\S+)}i'

/.../ более короткая форма m/.../. m/.../ каждый позволяет другие символы, чем / и также пары как m{...}, m(...).

something for @list выполнения something цикличное выполнение как $_ переменная на значениях списка. m{...} в списке контексты возвращает список полученных шаблонов (внутри (...)). print без аргументов, печати $_.

3
27.01.2020, 21:14
  • 1
    , может Вы уточнять for и m{}i части синтаксиса? –  cwd 27.11.2012, 22:57

Попробовать

grep -oP <your_pattern> <your_file>

-P гарантирует это grep интерпретирует Ваш regex а-ля Perl и -o заставляет его возвратить только, чему это соответствовало.

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

3
27.01.2020, 21:14
  • 1
    тот очень хороший взгляд! и с моим хорошим другом grep загружаться! я собираюсь дать ему попытку!спасибо! –  cwd 27.11.2012, 21:37
  • 2
    мне, кажется, нелегко добираться grep для возврата только части в круглой скобке –  cwd 27.11.2012, 22:14

Теги

Похожие вопросы