2014-11-05 5 views
0

나는 비디오를 Plex Library에 자동으로 배치하기 위해 bash 스크립트를 만드는 중입니다. 지금까지 보았던 ive의 경우, 다음 정규 표현식은 쇼 이름, 시즌 및 에피소드 번호를 감지하여 잘 작동합니다.문자열에서 문자열이 일치하는 마침표가 일치합니다.

#TV Show Name 
sed -n 's/\(.*\).S[0-9]\{1,\}.*/\1/p' 
#TV Show Season 
sed -n 's/.*\(S[0-9]\{1,\}\).*/\1/p' 
#TV Show Episode 
sed -n 's/.*S[0-9]*\(E[0-9]*\).*/\1/p' 

비디오를 Plex 라이브러리로 옮길 때 실제 문제가 발생합니다. 스크립트에서 처리 할 폴더에있는 모든 비디오는 마침표 '.'를 사용합니다. 공백으로. 예를 들어

, Once.Upon.A.Time.S01E01.avi, Marvels.Agents.Of.SHIELDS01E01.avi 등

플렉스 라이브러리 형식 밑줄 '_'공간을 나타내는 사용하므로

(이것은 리눅스 서버에있다.), 나는 sed를 사용하여 TV 쇼 이름의 마침표를 밑줄로 대체한다. 그런 다음 grep -i를 사용하여 Plex Library 폴더의 TV 쇼가 포함 된 올바른 폴더와 일치시키고 나머지 쇼/에피소드 번호를 사용하여 파일을 올바른 위치에 배치합니다. 재미 있은만큼, 쇼 중 하나 (S.H.I.E.L.D.의 Marvel 's 대리인은 실제로 이름에 마침표가 붙습니다.

위에서 설명한 밑줄 문제없이 파일 이름과 plex 폴더 이름을 쉽게 비교할 수 있습니까?

아니면이 특정 프로그램에 대한 예외를 설정해야합니까?

답변

0

점을 밑줄로 변환하기 전에 표시 이름을 사용하고 대신 모든 점을 물음표 (예 : sed "s/\./\?/g")로 변환하면 해당 이름 (예 : Marvels?Agents?Of?S?H?I?E?L?D)을 입력하여 적절한 Plex 라이브러리 디렉토리 . 당신이 파일을 이동에 필요한 디렉토리를 제공해야하고 또한 당신이 원하는 경우 제대로 밑줄로 파일 이름에 점을 변환 뒤쪽으로 작업 할 수 있도록 할

find /path/to/library -type d -iname "Marvels?Agents?Of?S?H?I?E?L?D"

.

+0

정확히 설명한대로 작동하고 새로운 것을 배웠습니다. 고마워요! – TearsOnTheMoon

관련 문제