2013-10-03 47 views
0

我已經命名爲刪除模式格式檔案名稱

01- El monstruo del lago ness [www.newpct.com].avi 

Inspector gadchet 01- El monstruo del lago ness.avi 

在兩種類型的很多文件,我想改變這個

01- El monstruo del lago ness.avi 

是否有任何腳本在bash中從一個文件中刪除一個模式? (該模式可在開始時,在年底,或在文件中)

,P:有句話

之間的空格
+1

我們需要更多的信息。例如,爲什麼「督察gad has」必須被刪除?該字符串的哪一部分必須保存? BTW:盜版是一種犯罪!疑難雜症! :P – opalenzuela

+0

該字符串需要刪除,因爲我只想保留章節標題和數字。 – uchi

+0

正則表達式是你的朋友 – VladL

回答

2

假設你有rename(附帶的Perl的),下面可能爲你工作:

rename 's/^[^\d]+//;s/\s?\[.*\]//' *.avi 
+0

你能解釋一下我的命令嗎?謝謝 – uchi

+0

第一部分'/^[^ \ d] + //'刪除不是數字的東西。第二部分'/ \ s?\ [。* \] //'將刪除'[]'和前一個空格(如果存在)之間的所有內容。 – devnull

+0

好的,但這隻適用於[]之間的文本我想要一個腳本,我可以設置「模式」被刪除,例如我選擇「由uchi」或「(2013)」或「---- blabla」 ,沒有特別的位置 – uchi

0

您可以使用不同的解決方案,包括類似的東西

for fname in `find ./ -name "*.avi" `; do mv $fname `echo $fname | sed -e 's/pattern/replace/g'`;done 

警告,潛在危險。嘗試使用echo而不是mv來查看將要移動的內容。