我正在創建一個bash腳本以自動將視頻放入Plex庫。對於迄今爲止看過的節目,以下正則表達式可以很好地檢測節目名稱,季節和劇集編號。匹配字符串中的字符串以強調字符串
#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 Library時真正麻煩。所有放置在腳本中處理的視頻都使用句點'。'作爲空間。
例如, Once.Upon.A.Time.S01E01.avi,Marvels.Agents.Of.SHIELDS01E01.avi等
由於Plex的庫格式使用下劃線 '_' 表示空格(這是在Linux服務器上),我只是使用sed將電視節目名稱中的句點替換爲下劃線。然後,我使用grep -i將其與Plex Library文件夾中包含電視節目的正確文件夾進行匹配,並使用show/episode編號的其餘部分將文件放在正確的位置。有趣的是,其中一個節目(事實上,S.H.I.E.L.D.的Marvel's Agents)恰好以其名字命名。
是否有一種簡單的方法將文件名和叢文件夾名稱匹配在一起,而不會出現上述的下劃線問題?
或者我應該簡單地爲這個特別的節目設置一個例外嗎?
完全按照所述進行工作,並學到新的東西:) 謝謝! – TearsOnTheMoon 2014-11-05 15:53:18