Войти

Показать полную графическую версию : [решено] Как заменить пробелы в названиях файлов на подчеркивания?


Naiad
13-02-2009, 16:56
Привет всем. Делаю вот так:
nika@darkstar:~/music/Blackpool_lights$ find . -name "* *.mp3" -exec rename 's/\ /_/g' {} \;
Не работает. Вроде все правильно... или нет?

BuGfiX
13-02-2009, 18:31
tr ' ' '_'

не пользовался этой фичей find-а, но можно так:
for i in "$(find . -name '* *.mp3' )"; do newname=$(echo "${i}" | tr ' ' '_'); mv -v "${i}" "${newname}" ; done

UPD: вру, не работает, поправлю. позже )

Naiad
13-02-2009, 19:40
Я думала это проще... пойду еще почитаю

Нашла вот тут http://forum.ru-board.com/topic.cgi?forum=62&topic=4149&start=0
for x in *; do mv "$x" `echo $x | sed -e 's/ /_/g'`; done собственно, что просили
for x in *; do mv "$x" ${x// /_}; done то же, чистый bash




© OSzone.net 2001-2012