Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как найти файлы по маске, переименовать их и переместить в одну папку в консоли?  (Прочитано 9020 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AdUser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Добрый день!
Искал - не нашел.
Сам сабж.
Описание: сбросил на хомяк три папки с фото из цифровика. Все зовутся DCIM и фото каждый раз имеют одинаковые имена.
Сейчас надо свалить ВСЕ фоты в одну папку, предварительно переименовав их типа foto_00№.jpg

Как это сделать в консоли. Ubuntu 11.10 Server.

Если было - тыкните. Или научите =)

Спааасибо!

Axa-Ru

  • Гость
Фигасе день!  ;) 4 часа ночи.
$ for F in *.[jJ][pP][gG]; do TO=$(printf "photo_%04d.jpg" $x); mv -T "$F" $TO; ((x++)); done
« Последнее редактирование: 20 Октября 2011, 04:34:35 от Axa-Ru »

Оффлайн AdUser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
Фигасе день!  ;) 4 часа ночи.
$ for F in *.[jJ][pP][gG]; do TO=$(printf "photo_%04d.jpg" $x); mv -T "$F" $TO; ((x++)); done
Как я понял - это баш.
А если ручками в консоли, то как?

Axa-Ru

  • Гость

Оффлайн AdUser

  • Автор темы
  • Новичок
  • *
  • Сообщений: 31
    • Просмотр профиля
прямо так и в консоле
Доброй ночи!  ;D
Пробую и получаю bash: ошибка синтаксиса около неожиданной лексемы `mv'

А можете сказать что означают for F in *.[jJ][pP][gG]?
man for говорит что нет такого, а как гуглить "for" не представляю даже =)))

Пользователь решил продолжить мысль 21 Октября 2011, 05:28:31:
Нашел и решил тему
find . -name \*.jpg -exec mv '{}' . \;
где find . -name \*.jpg - это ищем в текущей директории (с подкаталогами) файлы по маске jpg
и говорим команде find что надо потом запустить перемещение найденных файлов текущую директорию -exec mv '{}' . \;

Axa.Ru! Спасибо за помощь!
« Последнее редактирование: 21 Октября 2011, 05:28:31 от AdUser »

Axa-Ru

  • Гость
С find покороче, но оня не переименовывает по маске, как вы хотели.

Пользователь решил продолжить мысль 21 Октября 2011, 05:53:52:
Пробую и получаю bash: ошибка синтаксиса около неожиданной лексемы `mv'
Вы где то ошиблись. copy-past.
« Последнее редактирование: 21 Октября 2011, 05:53:52 от Axa-Ru »

 

Страница сгенерирована за 0.056 секунд. Запросов: 25.