LINUX.ORG.RU

sed удалить квадратные скобки вместе со значением

 , ,


1

1

На ум не приходит ничего кроме, но внутренний голос говорит что можно сделать проще и лаконичнее:

echo [123]Труба шатал | sed -e 's/[[:digit:]]//g' -e 's/\[//' -e 's/\]//'

★★★★★

Хм. А чего это в sed и egrep не работает [^\]]*?

$ echo "test]" | grep -Po '^[^\]]*\]'
test]
$ echo "test]" | grep -Eo '^[^\]]*\]'
$

UPD: https://unix.stackexchange.com/a/33005

To include ] in the list of characters matched by a bracket expression, make it the first character (or first after ^ for a negated set): []abc] or [^]abc] (not [abc]] nor [abc\]]).

Опять костыли :(


$ echo [Труба] ша]тал | sed 's/\[[^]]*\]//g'
 ша]тал
Tanger ★★★★★
()
Последнее исправление: Tanger (всего исправлений: 2)