여러 개의 폴더가 있고 각 폴더에는 약 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
.
스위치 는 -nv
verbose -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