Tag: регулярное выражение

Обратное обращение с sed

У меня есть база данных, содержащая список беззнаковых длин, представляющих кучу адресов памяти, за которыми следует смещение в двух скобках (например, Mem[offset] , 0x2322AD4[3] ) и некоторые другие данные. То, что я пытаюсь достичь, – это отделить смещение от адреса памяти, заменив открывающий кронштейн на единое пространство и избавиться от закрывающей скобки. Процедура, которую я […]

Печатать текст между тегами (включительно), если обнаружен определенный текст

У меня есть задача извлечь данные с нескольких серверов Apache. Задача состоит в том, чтобы распечатать: <Directory …> … </Directory> где + ExecCGI находится внутри. Позвольте мне привести пример для иллюстрации. Предположим, что файл конфигурации Apache имеет множество разделов каталога, как указано ниже: <Directory /var/www/site1/htdocs> Options +ExecCGI … … </Directory> … … … <Directory /var/www/site1/Promo> […]

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

В этом примере я могу получить 00 . expr match "00 foo 99.jpg" '[^0-9]*\([0-9]\+\).*$' Я хочу знать, как получить последний номер из строки, в этом случае 99 , используя регулярное выражение. Строка может содержать только набор чисел, таких как «foo00.jpg», или несколько из них, как «00 foo 11 bar 22 foo.jpg». Как написать регулярное выражение?

Какие команды вы можете использовать в начале команды sed?

Сначала я научился делать поиск sed и заменять так: sed -e 's/<stuff>/<replacement>/' Однако недавно я узнал, что они будут делать что-то другое в зависимости от того, какой командный символ вы используете в начале (вместо s ). Например: sed -e 'g/<stuff>/<??>/' Каковы различные команды, которые вы можете использовать в начале сценария sed , и что они […]

Выделение одной строки с помощью регулярного выражения Perl

у меня есть 1. Lorem He he he % not sure spelling 2. Lorem ipsun я хочу иметь \textbf{1. Lorem} He he he % not sure spelling \textbf{2. Lorem} ipsun Моя попытка псевдокода perl -000pe 's/\n\n\d./; s/\n\d.\n\\textbf\{ /g; s/$/\}/' который основан на моих двух предыдущих вопросах о регулярном выражении здесь. Я стараюсь соответствовать тому, что […]

Нужно удалить строки до соответствия шаблону

Мой код C должен декодировать некоторые данные приложения, которые были получены через сокет другим приложением. Я использовал Wireshark для экспорта пакетов (много) в массив C. Но массив содержит все байты, содержащие IP-адрес / порт. Мне просто нужны данные приложения. Массив C: static const unsigned char pkt64 [393] = {0x00, 0x04, 0x00, 0x01, 0x00, 0x06, 0xd8, […]

awk regex соответствует неправильному?

Играя с awk, я заметил это поведение: [root@ror6ax3 ~]# grep open * | awk '$2 ~ /opens*/ {print $0}' install.log:Installing openldap-2.4.23-32.el6_4.1.x86_64 install.log:Installing openssl-1.0.1e-15.el6.x86_64 install.log:Installing openssh-5.3p1-94.el6.x86_64 install.log:Installing openssh-clients-5.3p1-94.el6.x86_64 install.log:Installing openssh-server-5.3p1-94.el6.x86_64 install.log:Installing b43-openfwwf-5.2-4.el6.noarch [root@ror6ax3 ~]# grep open * | awk '$2 ~ /opens */ {print $0}' install.log:Installing openssl-1.0.1e-15.el6.x86_64 install.log:Installing openssh-5.3p1-94.el6.x86_64 install.log:Installing openssh-clients-5.3p1-94.el6.x86_64 install.log:Installing openssh-server-5.3p1-94.el6.x86_64 Почему бы opens* […]

Проблема с sed-подстановкой в ​​многословном регулярном выражении

Возьмем этот простой пример: echo "20150310 21:12:01.846338::: <?xml version="1.0"?><Haystack><Event " \ | sed 's/^\(.\{24\}\)::: \(<?xml.*><Haystack\|Foo\)>\(.*\)/\2 ts=\"\1\">\3/' Вернется: <?xml version=1.0?><Haystack ts="20150310 21:12:01.846338"><Event По сути, я хочу взять первые 24 символа строки, вставить их как атрибут xml корневого элемента и заменить остальную часть xml. Это работает. Но если я перенесу Haystack\|Foo в Foo\|Haystack он просто возвращает исходную […]

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

Я получаю что-то вроде комбинации sed 's/pattern//g' и grep -f patternfile.txt . В принципе, я хотел бы, чтобы поток ввода был лишен всех экземпляров шаблонов регулярных выражений, определенных в patternfile.txt (который содержит одно регулярное выражение на строку), так что cat myinitialfile.txt | magiccommands -f patternfile.txt > mycleanfile.txt

Поиск и замена двух слов командой ex

Я хочу найти и заменить 2 слова двумя другими словами одной командой g/…/s/…/…/g . Например, заменить слово «автомобиль» на «грузовик» и «кошка» на «собаку» одной командой ex в Vim.

Linux и Unix - лучшая ОС в мире.