Использование perl-переименовывает, швейцарский нож переименования файла с регулярными выражениями (на человечности, это связывается пакетом жемчуга как предварительное имя):
# Replace prename as appropriate (i.e. if you've got it installed under a different name
find /RootPath -type f -iname '*.mp3' -print0 | xargs -0 prename 's/mp3$/mp3/i'
Если Вы - осторожный вид, используйте-n, и-v опции к жемчугу переименовывают для наблюдения то, что он на самом деле сделает.
Хорошо у меня отчасти есть фиксация для этого. Существует хорошее объяснение от этого сайта https://bugs.launchpad.net/ubuntu / + source/gconf / + ошибка/336660:
Объяснение проблемы следующее:
Когда Вы su для укоренения от терминала, где Вы зарегистрированы как другой пользователь новый "преследуемый" пользователь, собирающийся наследовать переменные среды от родительского пользователя оболочки.
Пример: скажем, это для пользовательского разъема переменная среды DBUS_SESSION_BUS_ADDRESS установлено на: "unix:abstract =/tmp/dbus-l5SiTFzmR8, guid=1af28c9d83400a896ef6268d4a7af59f" Теперь, если Вы открываете терминал как разъем и делаете su для укоренения переменной DBUS_SESSION_BUS_ADDRESS, должен остаться что касается пользовательского разъема. И вот проблема, точно эта определенная огибающая переменная (DBUS_SESSION_BUS_ADDRESS) генерирует ту проблему. Программы Gnome как gedit, наутилус... используйте dbus протокол для общения с gconf, где специфичные для приложений конфигурации хранятся, и не просто. Программа, выполненная как корень, использует другой адрес шины сессии D-шины, сравненный, когда Вы выполняете ту программу как пользователь разъема, например. Таким образом, проблема состоит в том, что Вы переключаетесь на корень, но переменные неподвижные точки DBUS_SESSION_BUS_ADDRESS dbus адрес шины сессии разъема.
Решение: у пользователя root есть отдельный dbus адрес сессии также (расположенный в/root/.dbus/session-bus/...) Так для использования адреса dbus корня, когда Вы находитесь в терминале и "преследуемые" для укоренения просто ясные переменная DBUS_SESSION_BUS_ADDRESS. как: экспортируйте DBUS_SESSION_BUS_ADDRESS = "" программа, которая нужна в dbus связи с gconf, например, проверяет, что переменная среды, и если это пусто, это читает адрес dbus от пользователей ~/.dbus/session-bus/каталог (правильное место). Для создания этого постоянным добавляют следующую строку к пользователям root .bashrc файл: экспортируйте DBUS_SESSION_BUS_ADDRESS = "", Это означает, что каждый раз, когда Вы su для укоренения и терминал не являетесь оболочкой входа в систему (случай, когда Вы зарегистрированы как разъем и открыли терминал и выполнил su) переменная DBUS_SESSION_BUS_ADDRESS очищена, таким образом, приложения, собирающиеся читать адрес dbus из правильного места.
по тому, как Вы не должны запускать новую dbus сессию с dbus-запуском. Даже если Вы сделаете так, но приложения все еще читают адрес dbus из неправильного места, то проблема сохранится.
Когда я unsetenv DBUS_SESSION_BUS_ADDRESS, я могу теперь запустить emacs в X после su'ing. Однако я все еще получаю предупреждения:
(emacs 1879): GLib-WARNING **: In call to g_spawn_sync()...