С zsh
, (также проверяет наличие конфликтов):
autoload zmv # best in ~/.zshrc
zmv -n '*' '${f//[[:space:]]#[(]*[)]}'
Удалите -n
или замените на -v
.
С помощью //
мы удаляем все вхождения (...)
, но поскольку *
является жадным , в любом случае будет только одно совпадение. На 1 (2) 3 (4)
это будет соответствовать " (2) 3 (4)"
. Вы можете сделать *
не -жадным, используя флаг раскрытия параметра S
:
zmv -n '*' '${(S)f//[[:space:]]#[(]*[)]}'
Или замените *
на[^)]#
(0 или более не-)
s ).