파이프 및 grep을 사용한 대화형 명령

파이프 및 grep을 사용한 대화형 명령

, , 등 실행할 때마다 터미널 top의 모든 내용이 항상 변경되는 명령이 있습니다 . 내가 하고 싶은 것은 이러한 대화형 명령 중 하나를 실행한 다음 파이프를 사용하여 내가 찾고 있던 것을 grep하는 것입니다. 예를 들면 다음과 같습니다.watchAirodump-ng

   airodump-ng wlan0 | grep "QQ:AF:00:55:8C:DF"

이 예에서는 MAC 주소를 찾고 있습니다. 이 MAC 주소가 나타나면 이를 확인할 수 있도록 화면에 표시됩니다.

문제는 그것이 작동하지 않는다는 것입니다. 나는 아무 소용이 없다고 많이 검색했습니다.

답변1

"대화형 명령에서 greping"하는 작업은 불가능하지는 않더라도 어려울 수 있으며, 해결책을 찾았다면 다소 복잡해질 것 같습니다.

이를 수행하는 방법은 예를 들어 각 명령을 배우는 것입니다. airodump-ng에서는 필터를 사용할 수 있습니다.

airodump-ng wlan0 --bssid QQ:AF:00:55:8C:DF --essid home_wifi

그러면 정확한 bssid를 가진 home_wifi라는 이름의 AP만 표시됩니다.

답변2

--line-bufferedgrep 옵션 도 참조하세요 . stdin이 개행 문자를 볼 때마다 grep이 테스트를 실행하도록 합니다.

답변3

watch이를 위해 명령을 사용할 수 있습니다 .

예를 들어:

sudo watch -n 1 "airodump-ng wlan0 | grep "QQ:AF:00:55:8C:DF"

관련 정보