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

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

실행할 때마다 터미널의 모든 내용이 변경되도록 하는 , 등 의 top일부 명령이 있습니다 . 내가 원하는 것은 이러한 대화형 명령 중 하나를 실행한 다음 파이프를 사용하여 내가 찾고 있던 것을 찾는 것입니다. 예로서:watchAirodump-ng

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

이 예에서는 MAC 주소를 찾고 있으며 해당 MAC 주소가 나타나면 grep할 수 있도록 화면에 표시됩니다.

문제는 그것이 작동하지 않는다는 것입니다. 검색을 많이 했는데 결과가 없습니다.

답변1

정확하게 이 작업을 수행하는 "대화형 명령에서 greping"하는 것은 불가능하지는 않더라도 어려울 수 있으며, 해결책을 찾으면 상당히 복잡해질 것이라고 생각합니다.

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

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

그러면 이름이 home_wifi이고 정확한 bssid가 있는 AP만 표시됩니다.

답변2

grep 옵션 도 참조하세요 --line-buffered. 표준 입력에서 개행 문자를 볼 때마다 grep이 테스트를 수행하게 됩니다.

답변3

이 명령을 사용하여 watch이를 수행할 수 있습니다.

예를 들어:

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

관련 정보