Единственное время я использую или слышу минус вместо тире, при использовании chmod для удаления определенного разрешения, например.
chmod -x script.sh
поскольку рассматриваемое действие можно считать вычитанием.
Замена [some text]
пустой строкой. Принятие Вас не хочет анализировать вложенные скобки, some text
не может содержать скобки.
sed -e 's/\[[^][]*\]//g'
Обратите внимание на это в выражении скобки [^][]
соответствовать чему-либо, но [
или ]
, ]
должен быть на первом месте. Обычно a ]
закончил бы набор символов, но если это - первый символ в наборе (здесь, после ^
символ образования дополнения), ]
обозначает себя.
Если Вы действительно хотите проанализировать вложенные скобки, или если текст на кронштейнах может охватить несколько строк, sed не является правильным инструментом.
Команда sed -e 's/([^()]*)//g'
сделает круглые скобки вместо скобок.
s/\[[^\[\]]*\]//g
(т.е. используйте обратные косые черты для выхода из членов набора символов). – Gilles 'SO- stop being evil' 12.06.2011, 14:58[…]
= набор символов.^
поскольку первый символ означает дополнять набор.]
обычно была бы метка конец набора, но если это - первый символ кроме^
, это - обычный символ — пустое множество или дополнение пустого множества не разрешены. Затем[
обычно и]
заканчивает набор. – Gilles 'SO- stop being evil' 17.05.2013, 21:35