하나의 명령 출력에 여러 grep을 변수에 저장

Ricky mem

UP 인 IP 목록을 가져 오려고하므로 nmap먼저 모든 IP를 텍스트 파일에 저장하는 데 사용 됩니다.

nmap -v -sn 10.10.10.1-254 -oG hosts.txt 

이제 nmap이러한 IP에서 다른 명령 을 실행 하여 텍스트 파일에서 IP를 구문 분석하고 가져 오려고합니다. 다음을 시도하고 있지만 작동하지 않습니다. 변수에 v저장된 IP 값이 없습니다.

#!/bin/bash
while read line; do    
    v=$line|grep 'Up' -B1|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

    echo $v
done < hosts.txt
DopeGhoti

스크립트가 제대로 작성되지 않은 것 같습니다.

v=$line | grep [...]

변수를 할당하면 출력이 없으므로 grep.

아마 점에 간단하게 될 것입니다 awk귀하의 hosts.txt파일 :

$ nmap -v -sn 10.10.10.1/24 -oG hosts.txt > /dev/null 2>&1
$ awk '$NF=="Up" { print $2 }' hosts.txt    

생성 된 파일의 형식이 주어지면 nmap(다른 IP 범위를 용서하십시오. 분명히 다른 네트워크에 있지만 예제는 여전히 유효합니다) :

$ head hosts.txt
# Nmap 7.60 scan initiated Fri May 11 10:14:28 2018 as: nmap -v -sn -oG hosts.txt 172.28.9.67/24
# Ports scanned: TCP(0;) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Host: 172.28.9.0 (hostname1.internal)   Status: Up
Host: 172.28.9.1 (hostname2.internal)   Status: Up

우리가를 보여주는 호스트에게만 관심이 있다면 Status: Up, 도움이되는 마법의 단어는 줄의 마지막 단어입니다. 그래서 우리 awk는 마지막 필드가와 같은 줄만보고 Up두 번째 필드를 인쇄합니다 (즉, IP 주소).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

여러 명령의 출력을 한 줄에 파일로 저장

여러 명령의 출력을 동일한 파일에 저장

배치-명령 출력을 변수에 저장 (여러 줄)

JSch를 사용하여 여러 줄의 명령 출력을 변수에 저장하는 방법

배치 파일을 사용하여 Ping 명령 출력을 변수에 저장

cut 명령의 출력을 변수에 저장하는 방법

bash 스크립트 - 명령의 여러 출력을 별도의 변수에 저장

명령의 출력을 변수에 저장

awk 명령의 출력을 변수에 저장

cmd 명령의 필터링 된 출력을 변수에 저장

명령의 출력을 변수에 저장

ls 명령의 출력을 쉘 변수에 저장

명령 출력을 Bash의 변수에 저장

출력 명령을 변수에 저장하고 for 루프 작성

명령 출력을 변수에 저장하는 방법

명령을 실행하고 명령 출력을 변수에 저장

bash 명령의 출력을 캡처하여 구문 분석하고 다른 bash 변수에 저장

bash 명령의 출력을 캡처하여 구문 분석하고 다른 bash 변수에 저장

환경을 수정하는 명령의 출력을 변수에 저장

외부 명령의 출력을 인쇄하고 perl의 변수에 저장

명령의 출력 (예 : diff)을 변수에 저장하는 방법

awk 명령의 출력을 변수에 저장할 수 없습니다.

"for / f"를 사용하여 명령 출력에서 여러 토큰 저장

grive 명령 출력을 bash 스크립트의 변수에 저장

git 명령의 출력을 변수에 어떻게 저장합니까?

Windows 명령줄의 변수에 명령 출력을 작성/저장하는 방법은 무엇입니까?

피쉬 쉘의 명령에서 하나의 변수에 저장된 여러 인수 사용

Bash : grep의 여러 줄 출력을 반복되는 다른 명령에 전달

명령 출력을 배열에 저장