Факторинг Greep из GreeP | Sed Stream или написание GreeP в SED?

Думаю, это может быть такая статья:

Создание значимых данных из веб-журналов с использованием базового SAS

Там обсуждается параграф блокировка диапазонов класса C:

После разделения IP-адреса на его компоненты фильтрация диапазонов IP-адресов становится простой. Фильтр класса B применяется к первым двум октетам , например 168.126.xx.xx. Это переменная Onetwo в приведенном выше примере кода . Чаще используются диапазоны класса C, поскольку они нацелены на целые серверы и используют три из четырех октетов, например 168.126.56.xx. В приведенном выше примере кода это поле Three , поскольку Usrhost является значением TCP / IP-адреса веб-журнала.

И одно упоминание wget в блокировке на основе строки пользовательского агента:

Наш предпочтительный метод идентификации строки пользовательского агента использует функцию сопоставления с шаблоном индекса . Например:

 if index (lowcase (agentstr), 'keynote') или 
index (lowcase (agentstr), 'sureseeker') или 
index (lowcase (agentstr), 'wget ') или 
 

Это был пятый результат поиска в Google по запросу "log analysis wget" за 2001 год .

1
07.07.2018, 21:40
4 ответа

Мне удалось перевести grepиз конвейера в sedс помощью!d

sed -e'/\.foo$/!d' -e's/file/blag/'./input

Ответ получен из этого сообщения на форуме

1
27.01.2020, 23:18

Или, в зеркальной форме, отключите стандартную -печать, выполните замены, затем напечатайте только нужные строки:

sed -n  's/file/blag/; /\.foo$/p' < input

Или отфильтруйте нужные строки сначала , затем выполните замену -и -печать:

sed -n '/\.foo$/ { s/file/blag/; p }' < input
3
27.01.2020, 23:18

Выберите строки, которые заканчиваются на .foo, и выполните замену только для этих строк:

sed '/\.foo$/{s/file/blag/}'

Тестирование:

$ echo $'file.foo\nfile2.foo\nfile.bar\nfile3.foo' | sed '/\.foo$/{s/file/blag/}'
blag.foo
blag2.foo
file.bar
blag3.foo
0
27.01.2020, 23:18
sed -n 's/\(file\)\(.*\)\(\.foo\)/blang\2\3/p' input.txt > output.txt

(записывает в выходной файл)

ИЛИ

sed -i 's/\(file\)\(.*\)\(\.foo\)/blang\2\3/' input.txt 

(в -замена файла)

0
27.01.2020, 23:18

Теги

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