폴더의 이전 이름 ​​앞에 문자를 추가합니다. (이름 바꾸기)

폴더의 이전 이름 ​​앞에 문자를 추가합니다. (이름 바꾸기)

여러 개의 폴더가 있고 각 폴더에는 약 175개의 파일이 있습니다. 파일 이름은 다음과 같습니다

1.wav
2.wav
3.wav
......
175.wav 

이름을 다음과 같이 바꿔야합니다.

A1.wav
A2.wav
A3.wav
......
A175.wav 

즉, 이전 파일 이름에 문자를 추가해야 합니다.

이 작업을 수행하는 쉬운 방법이 있는지 궁금합니다.

우분투 버전은 16.10입니다.

답변1

여러 가지 방법이 있습니다. 제가 선택한 방법은 'for' 루프입니다.

for f in *.wav ; do mv "$f" "A$f" ; done

이는 간단하고 다른 요구에 맞게 쉽게 수정할 수 있습니다.

답변2

사용자 prename명령:

$ prename -nv 's/^(.*)$/A$1/' *.wav                    
1.wav renamed as A1.wav
2.wav renamed as A2.wav
3.wav renamed as A3.wav

읽는 방법은 간단합니다.

  • *.wav쉘이 와일드카드를 확장하여 .wav. 쉘이 전체 명령을 실행하면 컴퓨터는 prename -nv 's/^(.*)$/A$1/' 1.wav 2.wav 3.wav실제 명령 등을 보게 됩니다.
  • 's/^(.*)$/A$1/'실제로 s/PATTERN/REPLACEMENT그룹화를 사용한 정규식으로 (.*), 파일의 전체 이름을 처음부터 ^끝까지 그룹화 $하고 로 참조할 수 있습니다 $1.

스위치 는 -nvverbose -v및 dry-run 용입니다 -n. 테스트 실행이 만족스러우면 제거 -n하여 실제 이름 바꾸기를 적용하세요.

답변3

사용 rename:

rename 's/([0-9]+).wav/A\1.wav/' *.wav
  • s/SEARCH-FOR/REPLACE-WITH/ within-this-files
  • ([0-9]+)숫자 섹션을 보유하고 있으면 를 사용하여 다시 사용할 수 있습니다 \1.
  • A\1.wav: A+ (숫자 섹션) +.wav

관련 정보