как сделать обратную резку?

Ответ оказался действительно простым. <long hex string> ссылаемый в wpa-psk строка файла конфигурации зависит от не только пароль, но также и SSID. Так как SSID отличался, не помогло, что предоставленный пользователями сетевой пароль был идентичен; PSK все еще отличался.

Повторное выполнение wpa_passphrase с корректным SSID и использованием сгенерированного значения PSK WPA позволил мне устанавливать связь через повторитель. Это теперь работает точно, как рекламируется.

2
19.10.2015, 17:32
2 ответа
% 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> / .

7
27.01.2020, 21:51

С вырезом это невозможно. Cut зависит от наличия разделителя полей. В вашем примере желаемого ввода нет символа, который можно было бы использовать в качестве разделителя полей. Если у вас нет большего контроля над форматом ввода, вырезание не подходит для работы. Этого можно добиться с помощью sed или awk. Например, в sed это будет:

sed 's / [0-9] // g'

1
27.01.2020, 21:51

Теги

Похожие вопросы