Portál AbcLinuxu, 11. května 2025 07:16
[ :space:]
je v každém případě navíc mezera.
sed -i -e "/^config[[:space:]]*openvpn[[:space:]]*custom\_config/,/^config[[:space:]]*openvpn[[:space:]]*sample\_server/ s/[[ :space:]]*option[[:space:]]*enable[[:space::]]0/option\ enable\ 1/" /etc/config/openvpn
A v téhle třídě máš o jednu dvojtečku navíc. (Tvůj sed vyžaduje eskejpování mezer a podtržítek nebo je tam naopak cíleně máš/vkládáš? "option\ enable\ 1")
Jestli je tvým cílem v uvedených řádcích odstranit nadbytečné bílé znaky, tak jsi nepoužil nejelegantnější způsob. Tohle by s přehledem zvládla jednoduchá konstrukce s/[[:space:]]{2,}/ /g. Ovšem pokud by ti nevadila případná počáteční mezera :).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.