Re: [問題] Shell Script 中 Regular Expression

看板Linux作者 (小風)時間17年前 (2008/11/21 15:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
※ 引述《appleboy46 (小惡魔)》之銘言: : ※ 引述《godman362 (Shizuru)》之銘言: : : 我是最近才開始寫shell script : : 所以若是問題太過簡單還請各位見諒 : : 我想在script中用if去判斷輸入的檔案名稱的副檔名 : : 在根據副檔名做不同的處理 : : 我目前大概是這樣想的,大致如下: : : if [ $1 =~ [a-zA-Z]\.cpp ]; then : : echo "CPP" : : fi : extension=`echo $1 | cut -d "." -f 2` : if [ $extension == "cpp" ]; then : echo "CPP" : fi : : 但是判別出來一直是錯誤的 : : 所以想請教一下,該如何在if判斷句中做修正 用 cut -f2 的方式, 在處理類似 abc.cpp.diff 的檔名會有誤判的情形 如果你的環境是bash的話, 不妨試試看以下的語法, if [ "${1##*.}" = "cpp" ]; then echo "CPP" fi -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.249.207.134
文章代碼(AID): #199cXWT8 (Linux)
討論串 (同標題文章)
文章代碼(AID): #199cXWT8 (Linux)