Как использовать sed для добавления символа к строке без новой строки?

Вы должны использовать netctl. Это Arch Linux, встроенная в систему управления сетью. Если он еще не установлен (, он должен быть установлен ), запустите pacman -Syu netctl, затем посмотрите в /etc/netctl.

В /etc/netctl/examplesесть примеры файлов конфигурации. Чтобы использовать пример, просто скопируйте его в /etc/netctlи отредактируйте в соответствии с вашими настройками. Итак, в вашем случае запустите cp /etc/netctl/example/wireless-wpa /etc/netctl/somedescriptivename, затем отредактируйте /etc/netctl/somedescriptivenameв соответствии с вашими настройками.

Чтобы включить автоматическую настройку беспроводных сетей с помощью systemd, убедитесь, что установлен пакет wpa_actiondи включите службу:systemctl enable netctl-auto@wlan0.service

Для получения дополнительной информации см. вики-запись Netctl .

Из:https://unix.stackexchange.com/a/83108/237568

1
09.09.2019, 22:20
1 ответ

Хитрость заключается в том, чтобы сопоставить что-то в конце строки, например последний токен, разделенный пробелом -в этой строке, а затем повторно -записать эту строку в двойных -кавычках вокруг этого токена.

Эта команда сделает это:

sed -E 's/^(AUXDATA.*) ([^ ]*)$/\1 "\2"/' < foo

Опция -Eсообщает sed, что мы будем использовать расширенный синтаксис регулярных выражений.

Само регулярное выражение разбивает строку на две части:

  • Часть, которая имеет AUXDATAв начале строки (^, указывает на начало строки ), за которой следует произвольный текст, заканчивающийся пробелом

  • часть строки, которая не содержит пробелов и заканчивается в конце строки

В частности, в этом случае первая часть соответствует AUXDATA Zone_1_X =, а вторая часть соответствует 28.180958. sedзатем заменяет эту строку на:

  • первая часть, \1пробел после
  • двойная -кавычка, затем вторая часть \2и еще одна двойная -кавычка.

Все остальные строки входного файла передаются без изменений с помощью sed.

1
27.01.2020, 23:40

Теги

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