【Shell】比對字串


三個重點

  1. 利用 echo 導到 grep,取代由檔案輸入。
  2. 將結果導到 /dev/null,避免列印不必要的訊息到螢幕。
  3. 使用正規表示是來比對整個字串。

系統內定變數 $? 的結果

  • 0是成功。
  • 1是失敗。
$ echo abcd | grep '^abcd$' >> /dev/null; echo $?
0

 

【參考】

  1. shell script 裡如何使用正規表示法比對字串 ?
    http://ithelp.ithome.com.tw/question/10021305?tag=rt.rq
  2. 正規表示式的入門與應用(一)
    http://www.rtfiber.com.tw/~changyj/regex.1/index.html

【問題】

  1. 如何一次比對三個符合條件的字串。例如比對名字有 mary 或 may 或 john,只要其中一個成立就成立。
    $ echo "mary" | grep -E "^mary$|^may$|^john$" >>/dev/null; echo $?
    0
    $ echo "sam" | grep -E "^mary$|^may$|^john$" >>/dev/null; echo $?
    1
  2. 同事提醒上面 grep 的 -w,另一個用法。
    $ echo "mary msy john" | grep -w "john" >>/dev/null; echo $?
    0

【其它】

 

Ed32. Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com