共计 795 个字符,预计需要花费 2 分钟才能阅读完成。
利用 Grep 命令加參數 -o 顯示抓取的内容
正則符號有兩類, 基礎正則 和擴展正則:
基礎正則 | 内容 |
---|---|
^ | 以 … 開頭 |
$ | 以 … 結尾 |
^$ | 空行 |
. | 任意一個字符 |
* | 前一個字符連續出現 0 次或者 0 次以上 |
.* | 相當與 Shell 裏面的 *,所有内容 |
[a-z] | 或 a 或 b.. 1 次匹配 1 個字符 |
1 | 非或 a 或 b.. 或 z |
\ | 轉義字符 |
1)* 前一個字符連續出現 0 次或者 0 次以上
[d5118267@hkl20102859 ~]$ grep -o '0*' test.txt
0
0
0
000
[d5118267@hkl20102859 ~]$ grep '0*' test.txt
I am IT !
> I teach ETL!
> I like badminton ball. billiard ball and Chinese Chess!
> my blog is http://simon.blog.51cto.com
> our size is http://blog.oldbody.com
> my qq is 1395520340
> not 1364630646000
>
> my god , i am not player but a great engineer
> EOF
2)\ 轉義字符:還原之前的含義
- 匹配出文件中結尾的行
- 轉義字符序列:\n 回車換行 \t tab 鍵
返回最後任意一個字節 grep ‘.$’
提取最後一個字節,剛好 ”.” grep ‘.$’
3) $ 以什么作爲結尾
grep '!$' test.txt
I am IT !
> I teach ETL!
> I like badminton ball. billiard ball and Chinese Chess!
4) 正則貪婪性
開始到中間任意字符,直到最後出現字符 o
grep ‘^.*o’ test.txt
5 [] 一次只匹配裏面某一個字符
留神:[]裏面的内容去掉非凡含義
[a-z] 小寫字母 a-z
[A-Z] 大寫字母 a-z
[0-9] 數字
[0-9a-zA-Z] == [0-9a-Z] 數字和字符
[0-9|A-Z|a-z] 匹配大小寫字母和數字,匹配 |
- a-z ↩
正文完