我在我需要的tar.gz,GZ區分一個shell腳本工作| BZ等格局UNIX Case語句匹配
我第一次提取文件的擴展名和然後嘗試使用case
來匹配它,而我的第一種情況是*tar*
,它應該在其擴展名中與tar
匹配文件,因爲它們可以用相同的命令提取。
的問題是下一組語句的地方我想匹配gz
bz2
等。我需要它匹配bz
或但同時也會檢查是否存在是在擴展沒有tar
的情況下模式。
我無能與外殼模式匹配和寫這[!(tar).*(bz2|bz)$]
(請不要笑)
任何幫助將不勝感激。
'$'是正則表達式的語法,'*焦油*'是水珠(殼)語法。 'case'使用glob語法。爲了在glob中使用'!',你必須啓用'extglob'。 爲什麼你使用括號? –
@LaurentG我不知道如何繼續。試圖混合正則表達式,失敗。 – philantrovert