Если строка начинается с определенной строки, выведите только IP-адреса, содержащиеся в этой строке, используя awk, по одному на строку

Да, я думаю, что это должно сработать ...

Попробуйте следующее:

SELECT * FROM (
SELECT n0.val AS n312, n1.val AS n309, c.food_name, f.name, 
FROM contents n0, contents n1, contents c
    LEFT JOIN foods f 
        ON f.id = c.food_id     
WHERE n0.url = c.url 
AND n0.orig_source_id = 312 
AND n1.url = c.url 
AND n1.orig_source_id = 309
GROUP BY c.food_name
ORDER BY n312 DESC, n309 DESC
LIMIT 30
) ORDER BY n312 DESC, n309 DESC
0
задан Chris Smith 22 January 2019 в 16:52
поделиться

3 ответа

awk -F'[ |]' '/EpoServerList/{print $2"\n"$5}' file
10.0.25.15
10.0.25.20
0
ответ дан Claes Wikner 22 January 2019 в 16:52
поделиться

Вы также можете попробовать это решение на Perl

$ perl -lne ' if(/EpoServerList/) { while(/\d+.\d+.\d+.\d+/g) { print "[110]amp;" } } ' chris_smith.txt
10.0.25.15
10.0.25.20

Вход:

$ cat chris_smith.txt
Component: McAfee Agent
AgentMode: 1
Version: 5.0.6.491
GUID: f0bcc8de-1aa6-00a4-01b9-00505af06706
TenantId: N/A
LogLocation: /var/McAfee/agent/logs
InstallLocation: /opt/McAfee/agent
CryptoMode: 0
DataLocation: /var/McAfee/agent
EpoServerList: 10.0.25.15|epo1|epo1.example.com|10.0.25.20|epo2|epo2.example.com
EpoPortList: 443
EpoServerLastUsed: 10.0.25.15
LastASCTime: N/A
LastPolicyUpdateTime: 0
EpoVersion: 5.3.1
Component: McAfee Agent

$
0
ответ дан stack0114106 22 January 2019 в 16:52
поделиться

Сначала сопоставьте строки, затем переберите поля, соответствующие шаблону IPv4:

awk -F '[|: ]' '/^EpoServerList: / { for (i=1; i<NF; i++) { if (match($i, "([0-9]+\.){3}[0-9]+")) { print $i; } } }'

Использование нескольких разделителей полей позволяет обрабатывать метку как столбец и, следовательно, пропускать ее при сопоставлении для IP-адресов. [115 ]

Я знаю, что многие здесь скажут, что awk> grep + some-other-tool, но я обнаружил, что комбо дает гораздо больше читабельности с первого взгляда:

grep '^EpoServerList: ' | grep -oP '([0-9]+\.){3}[0-9]+'

Обратите внимание, что -o и -p вот расширения GNU, которые я использую из-за вашей зависимости от RHEL.

0
ответ дан bishop 22 January 2019 в 16:52
поделиться
Другие вопросы по тегам:

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