Задать вопрос
@kavabangaungava

Как заменить нижнее подчеркивание на пробел в имени файла?

Переименовать файл, заменив нижние подчёркивания на пробел можно так:

rename "s/_/ /g" *

Но, данный метод не удобен тем, что rename не является штатной утилитой.

Пробую другим способом, получаю Permission denied:

find . -type f -name '*_*' -exec bash -c `mv "$0" "${0/_/ / }"` {} \;
mv: invalid option -- 'a'
Try 'mv --help' for more information.
bash: line 1: ./ww_ee_rr_yy.file: Permission denied
bash: line 1: ./ww_ee_rr_yy_dd.file: Permission denied


Без данной конструкции, mv прекрасно переименовывает файлы
  • Вопрос задан
  • 504 просмотра
Подписаться 3 Простой Комментировать
Ответ пользователя xotkot К ответам на вопрос (2)
xotkot
@xotkot
ответы это убийцы вопросов
find . -type f -name '*_*' -exec sh -c 'x="{}";mv "$x" "${x//_/ }"' \;
Ответ написан
Комментировать