3
Май
4

Linux: Групповое переименование файлов

Итак, допустим у нас есть какая-то папка где лежит много разных файлов, например фоток. Нам нужно переименовать все фотки в 1.JPG 2.JPG 3.JPG и т.д.
Для этого нам нужно сделать следующее:

cd /*папка назначения*
i= ; ls | while read; do mv "$REPLY" $((++i))".${REPLY//*.}"; done
Понравилась эта запись? Вы можете подписаться на RSS-ленту и читать новые записи сразу после их появления.
4 Comments:
  1. Alagos 21 Сен, 2010

    Отлично! То что искал! Это именно тот вариант который работает без проблем!

  2. Максим 14 Ноя, 2010

    Не работает, если имена файлов начинаются с тире «-»

  3. Валерий 12 Фев, 2011

    #!/bin/sh
    echo -n «Введите путь к каталогу с *.jpg: «; read path
    cd $path
    echo -n «Введите имя файла: «; read name
    if [ "$name" = "" ]; then
    ls | while read
    do
    mv -v «$REPLY» $((++i)).jpg
    done
    else
    ls | while read
    do
    mv -v «$REPLY» «$name»"_»$((++i)).jpg
    done
    fi

  4. Danitron 3 Сен, 2013
Оставить комментарий