
Como posso adicionar quebras de linha entre meu egrep?
# nmap -sP 192.168.1.0/24 | egrep 'MAC|report'
Gostaria de adicionar uma quebra de linha após cada uma das duas linhas. Qual é a abreviatura mais eficiente?
Essencialmente, gostaria que o resultado fosse produzido assim:
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.)
Responder1
Gostaria de adicionar uma quebra de linha após cada uma das duas linhas.
A solução para este problema literal éaqui. No seu caso:
nmap -sP 192.168.1.0/24 | egrep 'MAC|report' | sed '0~2 s/$/\n/g'
No entanto, tenho visto nmap
resultados em que alguns relatórios perdem a MAC
linha, então (em vez de contar linhas cegamente) você prefere uma nova linha antes de cada Nmap
, a menos que esteja na primeira linha:
nmap -sP 192.168.1.0/24 | egrep 'MAC|report' | sed '1! s/^Nmap/\nNmap/'
Responder2
eu vim com
nmap -sP 192.168.10/24 | egrep 'MAC|report|Host is up' | sed '/Host is/c\\r'
Isso procura a string adicional "Host is up" e a substitui por um retorno de carro.
Isso resulta na seguinte saída:
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