Получение вывода iwconfig в полях

Я только что сделал iwconfig 2>/dev/null | hd и echo $(iwconfig 2>/dev/null) | hd

Оба выхода не имеют четкого разделения между полями и внутренними полями... это все пробелы -.^

Страница man не вызвала никакого способа установить разделитель полей iwconfig, поэтому я прочитал исходный код, и его нет, все делается путем объединения sprintf. Я видел скрипт, который заморозил ад, чтобы получить некоторые значения, и ожидал, что точка доступа в iwconfig | awk 'Access point:/ {print $6}' и как я должен был изменить это для моей системы $4 Интересно, действительно ли сбор всей информации, вставка ее в клочковатый вывод, анализ этой строки и регулярное выражение через строки - это правильный способ сделать это… есть ли альтернатива iwconfig, которая выдает ту же информацию, что и хэш с полезными разделенными полями, именами а ценности?

2 ответа

Из оболочки, awk или sed могут быть единственным решением. Но если вы пишете программу на C, вы можете использовать команды ioctl, которые iwconfig фактически использует для вывода информации, которую вы видите.

Вы также можете попробовать. iwconifg заменяется на iw.

Вы можете получить MAC-адрес точки доступа с

iwconfig 2>&1 | sed -n -e 's/^.*Access Point: //p'
Другие вопросы по тегам