Ответ оказался действительно простым. <long hex string>
ссылаемый в wpa-psk
строка файла конфигурации зависит от не только пароль, но также и SSID. Так как SSID отличался, не помогло, что предоставленный пользователями сетевой пароль был идентичен; PSK все еще отличался.
Повторное выполнение wpa_passphrase
с корректным SSID и использованием сгенерированного значения PSK WPA позволил мне устанавливать связь через повторитель. Это теперь работает точно, как рекламируется.
% echo ./24feb/frfr | cut -c 1-2,5-
./feb/frfr
Это будет инверсия для cut -c 3-4
, то есть выводит все символы ( байтов с текущими версиями GNU cut
) каждой строки, кроме 3-й и 4-й.
GNU-реализация cut
также имеет для этого параметр - complement
:
cut --complement -c 3-4
Чтобы удалить первую последовательность десятичных цифр, вы можете использовать sed
вместо:
sed 's/[0-9]\{1,\}//'
Чтобы удалить его, только если он находится в 3-й позиции:
sed 's/^\(..\)[0-9]*/\1/'
Или очень четко указать, какой шаблон должен запускать удаление:
sed 's|^\(./\)[0-9]*\([[:lower:]]\{3\}/\)|\1\2|'
Удаляется только <0-or- more-digits>
в строке, соответствующей: ./ <0-or-more-digits> <3-lowercase-letters> /
.
С вырезом это невозможно. Cut зависит от наличия разделителя полей. В вашем примере желаемого ввода нет символа, который можно было бы использовать в качестве разделителя полей. Если у вас нет большего контроля над форматом ввода, вырезание не подходит для работы. Этого можно добиться с помощью sed или awk. Например, в sed это будет:
sed 's / [0-9] // g'