저는 보관 목적으로 YouTube 사용자의 채널 전체를 다운로드하기 위해 youtube-dl을 사용해 왔습니다. 저는 동영상 제목, 하이픈, 11자 동영상 ID, 마지막으로 파일 확장자를 사용하여 동영상 이름을 지정하는 기본 명명 패턴을 사용해 왔습니다.
예를 들어
title of the video - (an example)-oHg5SJYRHA0.mp4
향후 다운로드를 위해 하이픈을 제거하고 동영상 ID를 대괄호 안에 넣었습니다. 문제는 새로운 명명 체계를 얻기 위해 다시 다운로드하는 데 대역폭을 낭비하고 싶지 않은 이전 명명 체계를 따르는 수백 개의 비디오가 이미 있다는 것입니다.
".mp4" 앞에 "]"가 배치되고 "].mp4" 앞에 11개의 공백/문자가 하이픈으로 "["로 대체되도록 다양한 길이의 파일 이름을 바꿀 수 있습니까?
예를 들어
title of the video - (an example)[oHg5SJYRHA0].mp4
[편집] Linux 및/또는 FreeNAS/BSD에서 작동하는 솔루션을 선호한다는 것을 지정하는 것을 잊었습니다.
답변1
Linux에서는 다음을 사용할 수 있습니다.이름 바꾸기다음과 같은 명령:
rename 's/-\w{11}(?=\.mp4$)/[$&]/' *.mp4
정규식 설명:
- # a hyphen
\w{11} # 11 word characters
(?= # positive lookahead, make sure we have after:
\.mp4 # a dot followed by mp4
$ # end of string
) # end lookahead
대사:
[ # opening square bracket
$& # the whole match (i.e. 11 characters)
] # closing squarre bracket
11자가 단어 문자가 아닐 수 있는 경우 다음을 사용하십시오.
rename 's/-\K.{11}(?=\.mp4$)/[$&]/' *.mp4
개행 문자를 제외한 모든 문자 와 .
일치합니다.