Добавьте имя Префикса в файле в Сценарии Perl

Я пытаюсь записать сценарий жемчуга для добавления имени префикса на файле (~100 файлов), но я являюсь отказавшим, чтобы сделать его.

Случай в качестве примера это, что я имею в виду:

abc.jpg change to NYear_abc.jpg     
def.jpg change to NYear_def.jpg    
ghi.jpg change to NYear_ghi.jpg

Это - то, что я пытаюсь искать вокруг и записать это:

#!/usr/bin/perl 
for (filename in "*".jpg;)
do {rename "$filename" "prefix_$filename";}

Это показывает мне недостающий оператор, кто-либо может помочь?

1
задан 11 December 2014 в 02:42

2 ответа

Я не знаю о синтаксисе жемчуга и сценариях жемчуга, но я могу помочь Вам переименовать все .jpg файлы с rename команда как следующее:

Первый необходимо переключить каталог, что у Вас есть весь .jpg там. например, если файлы хранятся в /home/star1017/jpg-file, я ввожу как это:

cd /home/star1017/jpg-file

тогда работает

rename -n 's/(.*)\.jpg$/prefix_$1.jpg/' *.jpg

Соответствие все (.*), который является концами $ с .jpg, тогда добавляют prefix_ и печатают подобранную группу $1 (это означает, печатают подобранную группу при помощи ее обратной ссылки), и затем распечатайте расширение. Команда работает за всем *.jpg файлы.

Тест:

file01.jpg renamed as prefix_file01.jpg
file02.jpg renamed as prefix_file02.jpg
file03.jpg renamed as prefix_file03.jpg
file04.jpg renamed as prefix_file04.jpg
file05.jpg renamed as prefix_file05.jpg

Или если Вы не хотите переключаться на тот каталог, выполните это:

rename -n 's/(.*)\/(.*)\.jpg$/$1\/prefix_$2.jpg/' /home/star1017/jpg-file/*.jpg

в конце, если Вы гарантируете тест, удаляют -n, опция к реальному переименовывает на фактических файлах.

3
ответ дан 10 November 2019 в 09:20

Вы хотели сценарий жемчуга, вот Ваш сценарий Perl ;)

#!/usr/bin/perl
use strict;
use warnings;

foreach $_ (@ARGV) {
   rename($_, "NYear_$_");
}

При принятии название сценария foo, запустите с

./foo *.jpg

Пример

% ls *.jpg
abc.jpg  def.jpg  ghi.jpg

% ./foo *.jpg

% ls *.jpg   
NYear_abc.jpg  NYear_def.jpg  NYear_ghi.jpg
0
ответ дан 7 December 2019 в 12:48

Другие вопросы по тегам:

Похожие вопросы: