cat/path/to/data.txt'7654321''7654321""87654321""" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

學習Grep,Sed中的正則 | 火丁筆記

系統 2058 0

學習Grep,Sed中的正則 | 火丁筆記

?


學習Grep,Sed中的正則

?

正則要是幾天不學習不用功,肯定會忘得一干二凈,下面聊聊Grep,Sed中的正則。

?

問題:從一個文本文件里篩選出含有電話號碼的行,電話號碼是由七位或者八位阿拉伯數字組成(開頭不是零),并且被單引號或者雙引號包裹。

鑒于問題的需要,先杜撰一份數據:

        shell> cat /path/to/data.txt
'7654321'
'7654321"
"87654321"
"87654321'
      

失敗的嘗試

        shell> grep "(['\"])[1-9][0-9]{6,7}\1" /path/to/data.txt
grep: Invalid back reference
shell> sed -n "/(['\"])[1-9][0-9]{6,7}\1/p" /path/to/data.txt
sed: -e expression #1, char 25: Invalid back reference
      

成功的嘗試

使用Basic Regular Expressions (BRE)

        shell> grep "\(['\"]\)[1-9][0-9]\{6,7\}\1" /path/to/data.txt
'7654321'
"87654321"
shell> sed -n "/\(['\"]\)[1-9][0-9]\{6,7\}\1/p" /path/to/data.txt
'7654321'
"87654321"
      

使用Extended Regular Expressions (ERE)

        shell> grep -E "(['\"])[1-9][0-9]{6,7}\1" /path/to/data.txt
'7654321'
"87654321"
shell> sed -n -r "/(['\"])[1-9][0-9]{6,7}\1/p" /path/to/data.txt
'7654321'
"87654321"
      

總結:Grep和Sed同時支持BRE和ERE兩種正則,缺省情況下,Grep和Sed使用的都是BRE正則,通過增加命令參數(grep -E / sed -r),Grep和Sed可以支持ERE正則。

BTW: Regular expression From Wikipedia, the free encyclopedia

?


This entry was posted in Technical and tagged , , , , by 老王 . Bookmark the permalink .

?

學習Grep,Sed中的正則 | 火丁筆記


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 临泉县| 巢湖市| 延寿县| 巴彦淖尔市| 青冈县| 绵竹市| 灵山县| 万安县| 陕西省| 疏勒县| 沈阳市| 桐乡市| 宁陕县| 罗源县| 商南县| 启东市| 宜君县| 昂仁县| 来安县| 乌鲁木齐市| 徐水县| 商丘市| 马关县| 阿瓦提县| 上栗县| 株洲市| 湾仔区| 新民市| 新宾| 股票| 洛南县| 瓦房店市| 开江县| 佛教| 四会市| 诸暨市| 盐亭县| 吉首市| 崇左市| 南澳县| 大同市|