Один из способов сделать это, предполагая у вас есть (1) grep
, достаточно умен, чтобы читать шаблоны из stdin
, (2) оболочка, достаточно умен, чтобы обрабатывать конструкции <(...)
, (3) переименовать
из Perl-пакета Unicode :: Tussle
и (4) набор файлов без символов новой строки в их именах:
cd /path/to/pics
ls -1 | tr A-Z a-z | sort | uniq -d | fgrep -ixf - <(ls -1) | \
rename -n 's/(?=\.[^.]+$)/"_".int(rand(32767))/e'
Это переименовывает файлы на месте, на файловая система с учетом регистра. Сначала она показывает, что она собирается делать. Если вас устраивают результаты, вы можете удалить параметр -n
из переименовать
, и команда выполнит фактически переименуйте файлы (он ничего не печатает этот раз).
Есть небольшая вероятность, что после этого у вас все еще будут конфликты. Вы можете проверить эту команду:
cd /path/to/pics
ls -1 | tr A-Z a-z | sort | uniq -d
Если она что-то вернет, вы можете просто запустить команду выше еще несколько раз, пока не исчезнут дубликаты. Затем вы можете переместить всю группу на свой диск OSX.
Можно, но возможно есть и лучшее решение:
Либо в /lib/udev/rules.d
, либо в /etc/udev/rules.d
должен быть 80-persistent-net-generator.rules
файл (номер в начале может быть другим ). Этот файл отвечает за создание файла /etc/udev/rules.d/70-persistent-net.rules
.
Если файл *persistent-net-generator.rules
находится в /etc/udev/rules.d
, ваш NAS-сервер использует довольно старую версию udev; вам нужно будет закомментировать правила в файле, но сохраните файл, чтобы ваша модификация сохранялась, если/когда операционная система устройства NAS будет исправлена.
Если файл *persistent-net-generator.rules
находится в /lib/udev/rules.d
, существует более простой способ переопределить его :просто создать пустой файл с точно таким же именем файла в /etc/udev/rules.d
.
Любой файл в /etc/udev/rules.d
полностью переопределит любой файл с тем же именем в /lib/udev/rules.d
... если ваша система использует версию udev с /lib/udev/rules.d
, т.е.