Этот тип копирования / переименования обычно проще выполнить в zsh, где вам не нужно писать цикл for
или команду find
.
zmv -Ls '(**)/(*).es.(*)' '$1/$2.$3'
-Ls
предназначен для создания символических ссылок; замените на -C
копию или ничего на ход. Другие полезные опции: -i
(запрашивать подтверждение для каждой копии / перемещения) и -n
(просто показать, что произойдет, но на самом деле не выполнять копирование / перемещение).
$1
, $2
, $3
в тексте замены относятся к первой, второй и третьей скобкам в шаблоне. В шаблоне **/
означает любую цепочку каталогов.
Может потребоваться сначала загрузить команду zmv
с помощью autoload zmv
. Это может быть полезно для ваших .zshrc
, а также alias zcp='zmv -L'
и alias zln='zmv -L'
.