有一些命令,例如top
、watch
、Airodump-ng
等,每当您运行时,终端上的所有内容都会发生变化。我想做的是运行这些交互式命令之一,然后使用管道来 grep 我一直在寻找的东西。以此为例:
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
另请参阅--line-buffered
grep 选项;它让 grep 在其标准输入每次看到换行符时执行测试
答案3
您可以使用该命令watch
来执行此操作。
例如:
sudo watch -n 1 "airodump-ng wlan0 | grep "QQ:AF:00:55:8C:DF"