Как заменить недопустимые символы на подчеркивание с помощью Perl?

Я знаю, что это старый вопрос, но решил добавить свои комментарии, так как это может помочь кому-то в будущем.

Весь процесс состоит всего из трех команд, как правильно заметил @Dzik.

nmcli connection add type wifi ifname wlan0 con-name local-ap autoconnect yes ssid test-ap mode ap
nmcli connection modify con-name 802-11-wireless.mode ap 802-11-wireless-security.key-mgmt wpa-psk ipv4.method shared 802-11-wireless-security.psk 'PASSWORD'
nmcli connection up con-name

Это запустит для вас точку доступа.

Для проверки можно использовать:

nmcli dev wifi list
1
06.07.2017, 06:35
2 ответа

Если у вас нет для использования Perl, trсделает это чертовски простым:

mysql_db_name="$(echo -n "$site" | tr -C '0-9a-zA-Z_$' '_')"
8
27.01.2020, 23:10
mysql_db_name=$(printf %s\\n "$site" | perl -lpe 'y/0-9a-zA-Z$_/_/c')

Теперь, поскольку вы хорошо знаете Perl, нет необходимости в каких-либо пояснениях.

mysql_db_name=${site//[!a-zA-Z_$0-9]/_}

mysql_db_name=$(perl -se 'print y/0-9a-zA-Z$/_/cr' -- -_="$site")
6
27.01.2020, 23:10

Теги

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