Попробуйте это,
awk '/Zone/ {print $2;getline; print $3}' file
A
500
B
600
C
400
getline
читает следующую строку после текущей строки. К сожалению, нет. Эта функция отвечает за принятие решения о том, будут ли события, отправленные с wpa_supplicant
по wpa_cli
, записываться в интерактивный терминал.
static int wpa_cli_show_event(const char *event)
{
const char *start;
start = os_strchr(event, '>');
if (start == NULL)
return 1;
start++;
/*
* Skip BSS added/removed events since they can be relatively frequent
* and are likely of not much use for an interactive user.
*/
if (str_starts(start, WPA_EVENT_BSS_ADDED) ||
str_starts(start, WPA_EVENT_BSS_REMOVED))
return 0;
return 1;
}
Единственными событиями, которые не записываются, являются WPA_EVENT_BSS_ADDED
и WPA_EVENT_BSS_REMOVED
(, что хорошо, поскольку они могут происходить сотни раз при выполнении сканирования ). Самый быстрый способ остановить печать этого сообщения в вашем интерактивном терминале — изменить оператор if
на
...
if (str_starts(start, WPA_EVENT_BSS_ADDED) ||
str_starts(start, WPA_EVENT_BSS_REMOVED) ||
str_starts(start, WPS_EVENT_AP_AVAILABLE))
...
Вы также можете добавить в любые другие сообщения, которые вас раздражают -макросы определены здесь .