Конвертировать имена файлов в целые числа - PullRequest
0 голосов
/ 31 октября 2009

Итак, у меня есть:

01.jpg 02.jpg 3.jpg 4.jpg 05.jpg

и хотите сделать их все как показано ниже, используя скрипт оболочки или команду на linux

1.jpg 2.jpg 3.jpg 4.jpg 5.jpg

Ответы [ 3 ]

2 голосов
/ 31 октября 2009

Если в вашей системе есть команда rename,

rename "s/0(\\d+\\.jpg)/\$1/" *.jpg
1 голос
/ 31 октября 2009

Чтобы удалить любое количество нулей с самого начала и предотвратить столкновения:

for old in 0*.jpg; do
    new=$(echo ${old} | sed 's/^00*//')
    if [[ ! -f ${new} ]] ;then
        mv ${old} ${new}
    else
        echo "${old} conflicts with ${new}"
    fi
done

Конечно, rename - лучший вариант, если доступен. Я просто включил это для полноты на тот случай, если вы работаете в системе UNIX, в которой нет этого инструмента.

1 голос
/ 31 октября 2009
for i in 0*.jpg; do
    mv $i ${i:1}
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...