반응형
Bash에서 재귀 적으로 파일 확장자 변경
이 질문에 이미 답변이 있습니다.
- 여러 파일의 확장자 이름을 어떻게 바꾸나요? 21 답변
내가 디렉토리를 통해 반복을 반복적으로하고 특정 확장자의 모든 파일의 확장자를 변경하고자하는 말 .t1
에 .t2
. 이를 수행하기위한 bash 명령은 무엇입니까?
이름을 변경할 수 있으면 다음을 사용하십시오.
find . -name "*.t1" -exec rename 's/\.t1$/.t2/' '{}' \;
이름을 바꿀 수없는 경우 다음을 사용하십시오.
find . -name "*.t1" -exec bash -c 'mv "$1" "${1%.t1}".t2' - '{}' \;
사용중인 버전이 옵션 을 bash
지원하는 경우 globstar
(버전 4 이상) :
shopt -s globstar
for f in **/*.t1; do
mv "$f" "${f%.t1}.t2"
done
또는 간단히 mmv
명령을 설치하고 다음을 수행 할 수 있습니다 .
mmv '*.t1' '#1.t2'
다음 #1
은 첫 번째 glob 부분 *
입니다 *.t1
.
또는 순수한 bash의 경우 간단한 방법은 다음과 같습니다.
for f in *.t1; do
mv "$f" "${i%.t1}.t2"
done
(예 : 또는 for
같은 외부 명령의 도움없이 파일을 나열 할 수 있음 )ls
find
HTH
나는 bash에서 이렇게 할 것입니다.
for i in $(ls *.t1);
do
mv "$i" "${i%.t1}.t2"
done
편집 : 내 실수 : 재귀 적이 지 않습니다. 재귀 파일 이름을 변경하는 방법은 다음과 같습니다.
for i in $(find `pwd` -name "*.t1");
do
mv "$i" "${i%.t1}.t2"
done
참고 URL : https://stackoverflow.com/questions/21985492/recursively-change-file-extensions-in-bash
반응형
'Programing' 카테고리의 다른 글
Pandas 집계 함수에서 반환 된 열의 이름을 지정 하시겠습니까? (0) | 2020.11.10 |
---|---|
/ login을 제외한 모든 경로 포착 (0) | 2020.11.10 |
C ++ 템플릿에서 유형의 이름 가져 오기 (0) | 2020.11.10 |
switch 문의 여러 값에 대한 PowerShell 구문은 무엇입니까? (0) | 2020.11.10 |
삽입 마우스 커서를 어두운 Visual Studio 편집기에 표시 (0) | 2020.11.10 |