가능한 중복:
여러 파일 이름 바꾸기(확장자 변경)
현재/작업 디렉토리에 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
파일만 영향을 받도록 합니다.