
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.)
답변1
두 줄 각각 뒤에 줄바꿈을 추가하고 싶습니다.
이 문자 그대로의 문제에 대한 해결책은여기. 귀하의 경우:
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/'
답변2
나는 생각해 냈다
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