переименование большого дерева & ldquo; folder_names & rdquo; to & ldquo; имена папок & rdquo;

Друг мой взял на себя смелость удалить все белые пробелы «» в именах папок на наших общих дисках и заменить их символом подчеркивания «_». Имена файлов не затронуты, и ошибка систематически распространяется только в именах каталогов

Любое хорошее предложение, по которому команда может решить эту проблему?

Спасибо ..!

1
задан 6 December 2011 в 17:29

2 ответа

Если вы действительно хотите вернуться в пробелы, вот команда, только для файлов

find /path -type f -iname '*_*' -exec bash -c 'echo mv -i "$1" "${1//_/ }"' _ {} \;

Это только показывает, что будет делать, удалите echo, чтобы действительно выполнить. [!d1 ]

Далее вы можете изменить также замену каталога -type f на -type d.

2
ответ дан 25 May 2018 в 16:13
  • 1
    Это отлично сработало: find -type d -iname ' _ ' -exec bash -c 'mv -i' $ 1 " "$ {1 // _ /}" ' _ {} \; Спасибо, энзотиб! – root-11 6 December 2011 в 22:09

Используйте инструмент rename:

$ rename "_" " " */*/ */*/*/
2
ответ дан 25 May 2018 в 16:13
  • 1
    / media / gb_01 / папки уже существуют $ rename " " & Quot; & Quot; * / * / * / * / * / Bareword " " не допускается, пока "строгие подсистемы" при использовании в (1) 1 линии 1. – root-11 6 December 2011 в 22:06
  • 2
    обязательно верните свои цитаты. – cweiske 6 December 2011 в 22:35

Другие вопросы по тегам:

Похожие вопросы: