이름 바꾸기 명령 - 숫자를 입력하세요

이름 바꾸기 명령 - 숫자를 입력하세요

이름 바꾸기 명령에 다른 문제가 있습니다.

다음 형식의 파일이 있습니다.

Gauge50.jpg
Gauge51.jpg
DigitalGauge_01.jpg
DigitalGauge_02.jpg
etc.

내가하고 싶은 것은 Gauge50을 대상으로하고 DigitalGauge_50.jpg 등으로 변환하는 것입니다.

그러나 다음과 같은 간단한 것이 있습니다.

rename 's/Gauge/DigitalGauge_/' *.jpg

이로 인해 올바른 형식의 다른 파일이 다음과 같이 됩니다.

DigitalDigitalGauge__01.jpg
DigitalDigitalGauge__02.jpg

그렇다면 이름 바꾸기를 사용하여 Gauge## 형식만 대상으로 지정하려면 어떻게 해야 합니까? (문자-숫자-숫자)? 감사해요!

이것rename주문하다통해 설치됩니다스스로 만든맥에서. 출력 rename -v:

rename -v
Usage:
    rename [switches|transforms] [files]

    Switches:

    -0/--null (when reading from STDIN)
    -f/--force or -i/--interactive (proceed or prompt when overwriting)
Wide character in print at /System/Library/Perl/5.18/Pod/Text.pm line 286.

    -g/--glob (expand "*" etc. in filenames, useful in Windows™ CMD.EXE)
    -k/--backwards/--reverse-order
    -l/--symlink or -L/--hardlink
    -M/--use=*Module*
    -n/--just-print/--dry-run
    -N/--counter-format
    -p/--mkpath/--make-dirs
    --stdin/--no-stdin
    -t/--sort-time
    -T/--transcode=*encoding*
    -v/--verbose

    Transforms, applied sequentially:

    -a/--append=*str*
    -A/--prepend=*str*
    -c/--lower-case
    -C/--upper-case
    -d/--delete=*str*
    -D/--delete-all=*str*
    -e/--expr=*code*
    -P/--pipe=*cmd*
    -s/--subst *from* *to*
    -S/--subst-all *from* *to*
    -x/--remove-extension
    -X/--keep-extension
    -z/--sanitize
    --camelcase --urlesc --nows --rews --noctrl --nometa --trim (see manual)

답변1

이 질문을 게시하면 답변하는 데 도움이 되는 관련 질문이 팝업으로 표시됩니다.

사용되는 형식은 다음과 같습니다.

rename 's/Gauge([0-9])/DigitalGauge_$1/' *.jpg

이것은 내가 해야 할 일을 할 것입니다.

답변2

Gauge*또 다른 접근 방식은 이름 바꾸기를 파일로만 제한 하고 간단한 패턴을 유지하는 것입니다.

rename 's/Gauge/DigitalGauge_/' Gauge*.jpg

관련 정보