Даже в самом простом вопросе, с которого вы начинаете, скрывается некоторая сложность. Я бы начал с
sed -E 's/\(([^()]*)\)/\1/'
, повторенного до тех пор, пока не осталось скобок пар . Это заменяет самый внутренний текст:
$ echo "((body))" | sed -E 's/\(([^()]*)\)/\1/'
(body)
Однако, как предлагает Кусалананда , для удаления команд TeX вы должны проверить Detex
, который доступен в TeX Live (и в большинстве дистрибутивов). Такая обработка требует большего, чем совпадение скобок или фигурных скобок: вам нужно немного знать о поведении различных команд. Даже в вашем примере \ color
необходимо обработать одним способом, \ textbf
другим ...