중복 가능성:
여러 파일 이름 바꾸기(확장자 변경)
현재/작업 디렉터리에 5개의 파일이 있다고 가정해 보겠습니다.
file1.xvg
file2.xvg
file3.xvg
file1.eps
file2.eps
현재/작업 디렉토리의 모든 파일 이름을 확장자로 바꾸는 방법이 있습니까?.xvg새로운 확장 기능을 제공하세요.. txt(떠나다.주당 순 이익별도의 파일)? rename
, 또는 를 사용하여 이 mv
작업을 수행 할 수 있습니까 mmv
? 저는 우분투 리눅스를 사용하고 있습니다. 감사해요!
답변1
특정 문제의 경우 이 명령이 작동합니다. 제안된 이름 변경에 만족하는지 확인한 후 삭제 -n
하여 계속하세요.
rename -n 's/\.xvg$/.txt/' *.xvg
이는 기본적으로 현재 디렉토리에서 확장자를 가진 모든 파일에 대해 .xvg
( )로 끝나는 파일을 찾아 이름의 해당 부분을 .$
.xvg
.txt
자세한 내용과 예시는 아래와 같습니다.
예, 이 rename
명령이 해당 작업을 수행합니다. 디렉토리의 다른 파일을 무시하고 .html
모든 파일의 이름을 확장자로 바꾸는 간단한 예입니다 ..html_bak
저 할 수 있어요강하게-n
명령줄 옵션을 사용하는 것이 좋습니다첫 번째(아래 설명 참조) 실제 명령을 실행하기 전에 변경된 내용을 확인하세요.
나는 다음과 같이 시작했습니다.
$ ls
a.html a.txt b.html htmlfile
접근 방식 -n
은 "시험 실행"을 수행하는 것입니다. 아무것도 변경하지 않고 무엇이 변경될지 보여주기 위한 것입니다!
$ rename -n 's/\.html$/.html_bak/' *
a.html renamed as a.html_bak
b.html renamed as b.html_bak
원본 파일은 아직 남아있습니다.
$ ls
a.html a.txt b.html htmlfile
이제 솔직해지자:
$ rename 's/\.html$/.html_bak/' *
파일 이름이 변경되었습니다.
$ ls
a.html_bak a.txt b.html_bak htmlfile
위의 예에서는 *
이름 바꾸기 작업에 고려할 파일을 지정했습니다. 으로 .html
만 제한할 수 있습니다 *.html
.
자세한 내용은 이름 바꾸기 매뉴얼 페이지를 참조하십시오.
답변2
이는 다음과 같이 수행할 수 있습니다.
rename 's/xvg$/txt/' *.xvg
glob 모드에서는 *.xvg
파일만 영향을 받습니다.