У меня есть папка с файлами ts200.jpg, ts201.jpg и так далее. Мне нужна программа или команда, которая увидит число и минус 199 из числа, чтобы ts200.jpg стал ts1.jpg и так далее.
Я установил переименование PERL, но не могу понять документы.
Любые ответы приветствуются.
Я бы просто использовал однострочник perl напрямую, а не его утилиту переименования:
$ ls *.jpg
ts200.jpg ts201.jpg
$ perl -e 'rename $_, $_ =~ s/\d+/$&-199/er for @ARGV' *.jpg
$ ls *.jpg
ts1.jpg ts2.jpg
Просто чтобы еще раз проверить, если бы у меня было больше файлов до ts600.jpg, это все еще работало бы?
@ WiiCoder4444 Да.
Что касается «если бы у меня было больше файлов размером до ts600.jpg, это все еще работало бы?», 1) *.jpg
может создать слишком длинную командную строку, если у вас есть сотни файлов. Это можно решить с помощью find ... -exec perl -e'...' {} +
. 2) Это может привести к потере данных. Представьте, если ts600 будет переименован в ts401 до того, как будет переименован ts401? Это можно исправить, переместив их в новый каталог с помощью rename $_, "new/" . s/\d+/$&-199/er
.
Пожалуйста, отредактируйте свой вопрос (без комментариев): Что вы искали и что нашли? Что вы пробовали, и как это не удалось?