$ command | sed -n 's/.*text4://p'
"lkpird sdfd"
-n
говорит sed не печатать, если мы явно не попросим его об этом. s/.*text4://
указывает sed удалить любой текст с начала строки до последнего вхождения text4:
. Если такая строка найдена, то p
указывает sed напечатать ее.
grep -P
$ command | grep -oP '(?<=text4:).*'
"lkpird sdfd"
-o
говорит grep печатать только совпадающую часть. (?<=text4:).*
соответствует любому тексту, следующему за text4:
, но не включает text4:
.
Для опции -P
требуется GNU grep. Таким образом, он не будет работать ни со встроенной в busybox grep
, ни со стандартной grep
в системах BSD/Mac OSX.
Исходное решение grep -awk можно упростить:
$ command | awk -F': ' '/text4: /{print $2}'
"lkpird sdfd"
$ command | awk '/text4:/{sub(/.*text4:/, ""); print}'
"lkpird sdfd"
/text4:/
выбирает строки, содержащие text4:
. sub(/.*text4:/, "")
указывает awk удалить весь текст с начала строки до последнего вхождения text4:
в строке. print
указывает awk напечатать эти строки.
OpenVPN 3 Linux не поддерживает --auth-user-pass
с сохраненными учетными данными, такими как OpenVPN 2.x. Я еще не решил, должны ли мы поддерживать его таким образом или использовать для этого другой подход. Сохранение учетных данных пользователя обычно не рекомендуется.