셸에서 여러 파일 이름 많이
이 질문에 이미 답변이 있습니다.
- Unix 22 답변의 패턴을 기반으로 여러 파일 이름 짓고
나는 디렉토리 예에서 여러 개의 파일을 가지고 linux_file1.mp4
, linux_file2.mp4
등등. 어떻게 그렇게 이름이라는 것을, 쉘을 사용하여 운영하는 파일을 이동 file1.mp4
, file2.mp4
등등. 새 이름으로 필요한 파일이 약 30 개 있습니다.
나는 이런 종류의 mmv 를 좋아합니다
mmv 'linux_*' '#1'
그러나 rename
. 일반적으로 rename
구문이 매우 다른 두 개의 명령이 있습니다. 하나는 Perl로 작성되고 다른 하나는 util-linux로 배포 아래에서 "perl rename"과 "util rename"으로 구분됩니다.
Perl 이름 :
rename 's/^linux_//' linux_*.mp4
cweiske가 지적했듯이.
util rename 사용 :
rename linux_ '' linux_*.mp4
어떤 이름이 어디에 어떻게 알 수 있습니까? 실행 해 rename -V
. 버전이 util rename이면 버전 번호를 인쇄하고 perl rename이면 무해하게보고하고 알 수없는 옵션을 표시하고 사용법을 표시합니다.
이 중 하나 당신가없는 경우 rename
또는 mmv
하고 싶지 않아하거나 설치할 수 없습니다 당신은 여전히 평범한 구식 쉘 코드 로이 작업을 수행 할 수 있습니다 :
for file in linux_*.mp4 ; do mv "$file" "${file#linux_}" ; done
이 구문은 XPG4 이상을 준수하는 모든 POSIX 작동합니다.
$ rename 's/linux_//' linux_*.mp4
디렉토리 순회 를 사용하는 간단한 기본 방법 :
find -type f | xargs -I {} mv {} {}.txt
끝에 모든 .txt를 추가하여 파일의 이름을 바꿉니다.
그리고 송 신화를 사용 하는 것보다 일반적인 멋진 방법 :
find -name "file*.p" | parallel 'f="{}" ; mv -- {} ${f:0:10}trump${f:4}'
@dtrckd 및 @Sorpigal 답변을 결합하여 디렉터리 내에서 파일 이름을 바꿀 수 있습니다.
for file in `find -name "linux_*.mp4"`; do mv "$file" "${file/linux_/}" ; done
참고 URL : https://stackoverflow.com/questions/6911301/rename-multiple-files-in-shell
'ProgramingTip' 카테고리의 다른 글
IMG 태그와 함께 스프라이트를 사용하십니까? (0) | 2020.11.30 |
---|---|
보기 컨트롤러의보기에 사용자 지정 하위보기 (xib에서 생성됨) 추가-내가 뭘 잘못하고 있니? (0) | 2020.11.30 |
JSON 객체를 JavaScript 배열로 변환하는 방법 (0) | 2020.11.30 |
Tesseract 실행 오류 (0) | 2020.11.30 |
"not in"조건에 따라 데이터 프레임에서 행 삭제 (0) | 2020.11.30 |