Re: [問題] Shell Script 中 Regular Expression
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 4 篇):