Linux與命令列基礎
$ cat words.txt
bat
bt
boat
abet
bit.txt
$ grep '^b.t' words.txt在上面的操作中,最後的 grep 輸出的行是下列何者?
- Abat、bit.txt
- Bbat、abet、bit.txt
- Cbat、bt、boat、bit.txt
查看答案與解析
正確答案:A. bat、bit.txt
正規表示式的 ^ 表示行首,. 表示任意一個字元,$ 表示行尾。^b.t 是「行首為 b,接著任意一個字元,再接著 t」,因此符合 bat 與 bit.txt。bt 在 b 與 t 之間沒有字元,boat 在 b 之後第二個字元是 a,所以都不符合。abet 的 bet 部分符合 b.t,但行首是 a,不符合 ^ 的條件。
- A. 正確。從行首依序為 b、任意一個字元、t 的是 bat 與 bit.txt。
- B. 這是沒有 ^ 時(grep 'b.t')的結果。有 ^ 時,只有行首為 b 的行才符合。
- C. 這是把 . 當成 .*(0個以上的任意字串)時的結果。. 只比對剛好一個字元。