[liuqiang@mu01 greptest]$ cat numbers.txt
123214.
0987654 456789.678 9 192
1234567.
222111. 21.
[liuqiang@mu01 greptest]$ grep '[0-9]\\.' numbers.txt //方法1
123214.
0987654 456789.678 9 192
1234567.
222111. 21.
[liuqiang@mu01 greptest]$grep '^[0-9]\\.' numbers.txt //方法2
123214.
222111. 21.
[liuqiang@mu01 greptest]$ grep '\<[0-9]\\.' numbers.txt //方法3
123214.
0987654 456789.678 9 192
222111. 21.
[liuqiang@mu01 greptest]$ grep '\<[0-9]\\.\>' numbers.txt //方法4
[liuqiang@mu01 greptest]$
以上,存在幾個問題:
1. 方法2中^[***]的這種形式,指的是加了^之後,就必須滿足完整匹配,即剛好6個數字才行的字串,所以456789.678 這行是不行。
2. 方法3中使用字串限定的方式,並沒有考慮結尾,因此456789.678 被選中。
3. 傳統的方法是方法1,但是方法1顯然只是考慮包含的關係,因此1234567. 明明是7個數字,也被選中。
4. 為什麼方法4的執行結果為空?
以上4個問題,前面3個不知道我的理解對不對,第四個我還是不明白 。
非常感謝!
shell正規表示式
句點 匹配單字元 1 匹配任意單ascii 字元,可以為字母,或為數字。2 舉例 xc.匹配dexc1t 23xcdf 等,w.w.w.匹配rwxrw rw 行首以 匹配字串或字串行 1 允許在一行的開始匹配字元或單詞。2 舉例 01 匹配0011cx4 c01sdf 等,d 匹配drwxr xr ...
shell正規表示式
句點 匹配單字元 1 匹配任意單ascii 字元,可以為字母,或為數字。2 舉例 xc.匹配dexc1t 23xcdf 等,w.w.w.匹配rwxrw rw 行首以 匹配字串或字串行 1 允許在一行的開始匹配字元或單詞。2 舉例 01 匹配0011cx4 c01sdf 等,d 匹配drwxr xr ...
shell 正規表示式
一 從頭開始 echo the book sed n the p 二 結尾 三 聯合定位 this is a test 四 點字元 用於匹配除換行符之外的任何乙個單一字元 五 字元類 定義一類字元,用於匹配文字模式中的某一位置 例如 echo n ch at p data the cat is sl...