Изменить положение слова в имени каталога

Вы можете использовать \для экранирования любого одиночного символа, включая (и ), как вы уже делали с пробелами. Хотя это работает, это может быть громоздко, если у вас есть много символов / пробелов для выхода.

Более быстрой альтернативой является использование одинарных кавычек(')для экранирования всей строки , т. е. что-то вроде:

rm -rf '10.2 (14C92)'

Пожалуйста, имейте в виду, что 'экранирует все , поэтому используйте его с осторожностью, если вам нужно, например, раскрытие переменной внутри кавычек. Тем не менее, использование двойных кавычек работает для экранирования пробелов и скобок, а также:

rm -rf "10.2 (14C92)"

Кроме того, исходя из вашего вопроса, вы пытаетесь использовать rmdir. rmdirработает только для пустых каталогов и не имеет флагов -rи/или -f:

NAME rmdir - remove empty directories

SYNOPSIS rmdir [OPTION]... DIRECTORY...

DESCRIPTION Remove the DIRECTORY(ies), if they are empty.

Вы можете использовать rm -rf.
Если 10.2 (14C92)действительно пусто, простой

rmdir '10.2 (14C92)'

подойдет.

Экранирование выполняется самим bash, поэтому оно работает для любой команды. Другими словами, bashрешает , что передать команде, основываясь на собственных правилах синтаксического анализа, затем команда действует на аргументы после того, какbashих проанализировал.

0
13.02.2021, 18:29
1 ответ

Сzsh:

autoload zmv
zmv -n '(*) - (*) (\(<->\))(#q/)' '$1 $3 $2'

Удалите-n(сухой -сухой ход ), когда они будут удовлетворены.

0
18.03.2021, 22:30

Теги

Похожие вопросы