Это невозможно сделать даже теоретически. Вы пытаетесь получить доступ к своей электронной почте, не зная, какой у вас почтовый сервер или почтовый провайдер...
Зная SSID (или ESSID — я буду использовать эти термины взаимозаменяемо, с одним вы можете определить другое) является основной точкой для установления соединения. Это способ, которым вы определяете, где вы хотите «физически» подключиться (я использую физически не для определения самого оборудования антенны, а для среды, которая представлена поблизости по воздуху).
Взгляните на этот отличный ответ на Networking.stackexchange. По сути, если вы хотите подключиться к сети Wi-Fi, вам нужно поймать маяк с информацией SSID или вам нужно отправить зондирующий запрос. Я не рассматриваю здесь какие-либо методы обнаружения скрытых ssid, потому что они будут полезны только для идентификации нужной сети...
Как вы можете решить, какой ssid/essid использовать, только на основе вашего пароля?
Лучше всего подключиться с помощью вашего bssid, и этот ответ на askubuntu очень хорошо объясняет. Обратите внимание, что эта настройка будет действительна в сети, где у вас есть только ОДНА точка доступа, потому что bssid вычисляются на основе mac-адреса точки доступа (и, как вы можете видеть в приведенном ниже примере из этого ответа, ssid Apolo III
имеет 3 БСИД).Вам просто нужно адаптироваться к вашим потребностям в используемом шифре Wi-Fi:
Цитирование ответа:
$ nmcli -f in-use,ssid,bssid,signal,bars dev wifi * СИГНАЛЬНЫЕ ПОЛОСЫ SSID BSSID * Аполлон III (TWC) XX:XX:XX:XX:XX:XX 98 ▂▄▆█ Chromecast8481 XX:XX:XX:XX:XX:XX 97 ▂▄▆█ -- ХХ:ХХ:ХХ:ХХ:ХХ:ХХ 94 ▂▄▆█ Аполлон III (1) ХХ:ХХ:ХХ:ХХ:ХХ:ХХ 87 ▂▄▆█ TWCWiFi XX:XX:XX:XX:XX:XX 80 ▂▄▆_ Кабель WiFi XX:XX:XX:XX:XX:XX 80 ▂▄▆_ TWCWiFi-Passpoint XX:XX:XX:XX:XX:XX 80 ▂▄▆_ Аполлон III (1) ХХ:ХХ:ХХ:ХХ:ХХ:ХХ 70 ▂▄▆_
Cli для подключения к BSSID:
$ nmcli d wifi connect XX:XX:XX:XX:XX:XX
Связанные материалы:
Если вы измените файл, чтобы он имел правильные разделители полей, например |
, решение тривиально:
awk -F'|' '{print $1}' input_file
Если вы используете пробелы , которые также встречаются в намеченных полях вместо правильных разделителей полей, тогда вы можете сделать что-то вроде этого:
awk '{ a = $1; for (i=2; i <= NF-2; i++) a = a " " $i; print a; }' input_file
sed 's/^\([^0-9]*\).*/\1/' text.tex
Предполагается, что имя не содержит числовой символ, а поле сразу после имени начинается с числа.
Когда вы разделяете поля по |
, это можно сделать с помощью
sed 's/^\([^|]*\).*/\1/' text.tex
или, если вам нравится awk, вы можете сделать
awk -F\| '{print $1}' text.tex