1

Как я могу добавить разрывы строк между моим egrep?

# nmap -sP 192.168.1.0/24 | egrep 'MAC|report'

Я хотел бы добавить перенос строки после каждой из двух строк. Какая самая эффективная стенография?

По сути, я бы хотел, чтобы результат выводился так:

Nmap scan report for 192.168.1.7
MAC Address: C4:42:02:xx:xx:xx (Samsung Electronics Co.)

Nmap scan report for 192.168.1.8
MAC Address: 04:F1:3E:xx:xx:xx (Apple)

Nmap scan report for 192.168.1.10
MAC Address: 70:18:8B:xx:xx:xx (Hon Hai Precision Ind. Co.)

2 ответа2

2

Я хотел бы добавить перенос строки после каждой из двух строк.

Решение этой буквальной проблемы здесь. В твоем случае:

nmap -sP 192.168.1.0/24 | egrep 'MAC|report' | sed '0~2 s/$/\n/g'

Однако я видел выходные данные nmap где некоторые отчеты пропускают свою строку MAC , поэтому (вместо слепого подсчета строк) вы предпочитаете новую строку перед каждым Nmap , если только она не находится в самой первой строке:

nmap -sP 192.168.1.0/24 | egrep 'MAC|report' | sed '1! s/^Nmap/\nNmap/'
0

Я придумал

nmap -sP 192.168.10/24 | egrep 'MAC|report|Host is up' | sed  '/Host is/c\\r'

Это ищет дополнительную строку "Host is up" и затем заменяет ее возвратом каретки.

Это приводит к следующему выводу:

Nmap scan report for 192.168.1.1

MAC Address: 00:0E:C6:C7:93:38 (Asix Electronics)
Nmap scan report for  (192.168.1.254)

MAC Address: 1C:C1:DE:80:53:55 (Hewlett Packard)
Nmap scan report for 192.168.1.250

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .