Переместить с возможным переименованием

Возможно ли построить команду, которая переместит файл в другой каталог, и если тот же самый файл уже существует, сгенерируйте некоторую случайную строку, которая не находится в имени какого-либо файла в каталоге, и переименуйте файл в эту случайную строку?

Я знаю команду mv -i , поэтому я делаю это вручную и файлы, которые содержат переименование чего-то другого.

Спасибо

2 Solutions collect form web for “Переместить с возможным переименованием”

 mv -b file destination/ 

должен сделать трюк.

 mv --backup=TYPE 

будет действовать, как говорит тип, это либо одно из следующего:

 none, off never make backups (even if --backup is given) numbered, t make numbered backups existing, nil numbered if numbered backups exist, simple otherwise simple, never always make simple backups 

Нет стандартной или общей одношаговой команды. Вот двухэтапный процесс, основанный на нестандартном, но распространенном mktemp .

 tmp=$(TMPDIR=$(dirname -- "$destination") mktemp -t) mv -- "$source" "$tmp" echo n | mv -i -- "$tmp" "$destination" 
  • ^ x ^ y unix трюк для всех экземпляров последней команды?
  • Разделить страницы в pdf
  • не удается удалить файл с возвратом каретки
  • Любой лучший метод, чем это для сортировки файлов по дате создания?
  • Выполнить команду над каталогами с рекурсивным именем
  • Команда Bash, которая использует подстановочный знак вместо папки для копирования содержимого содержимого нескольких файлов в один каталог?
  • проверка аргумента для сценария bash - это строка из всех цифр
  • Номер истории Bash не начинается с 1?
  • Как я могу вывести «временно» в оболочку, как это делает завершение вкладки zsh?
  • Консолидация повторного префикса
  • Развернуть подоболочку перед ее выполнением?
  • Как выполнить одну команду для всех файлов в папке
  • Linux и Unix - лучшая ОС в мире.