Linux bash команда -backup = пронумерована. Поставьте цифру ПЕРЕД расширением файла - PullRequest
0 голосов
/ 27 мая 2020

Используя однострочную команду bash с GitBash на windows, используя find и cp, я создаю резервную копию группы файлов сценариев, которые существуют в нескольких подкаталогах. В настоящее время я сохраняю их в одном каталоге. Как вы понимаете, возникают конфликты именования. Этого достаточно легко избежать с помощью опции --backup=numbered, которая создает копию файла. Однако проблема в том, что он помещает номер ПОСЛЕ расширения файла, называя файл следующим образом: example.js.~2~. Я хочу сохранить расширение файла и назвать файл следующим образом: example2.js, а не ставить номер после расширения файла. Есть ли способ сделать это?

Другой вариант - добавить имя каталога (из каталога, из которого он копируется) к копируемому файлу вместо добавления номера. Я бы принял любое из них в качестве решения.

Вот что у меня есть:

find . -path "*node_modules*" -prune -o -type f \( -name '*.js' -or -name '*.js.map' -or -name '*.ts' -or -name '*.json' \) -printf "%h\n" -exec cp {} --backup=numbered "/c/test/" \;

Любая помощь будет принята с благодарностью! Спасибо!

...