正則符號

 目錄php

1.系統特殊符號java

2.系統通配符號python

3.正則符號mysql

1.系統特殊符號linux

//系統特殊符號
1.管道符號|
2.引號符號""  ''
1)""
2)''
3.重定向符號>/1>    2>  >>/1>>  2>>
4.路徑信息符號 $OLDPWD
5.邏輯符號&&    ||
1)&&
2)||
1.管道符號(前一個命令執行結果交給後面命令處理)
[root@lbz01 lsn]# find /lbz -type f -name "*.txt" |xargs -i cp {} /lsn        //將找到的信息放到cp 和 最終目錄中間
#xargs: 將信息進行分組顯示
[root@lbz01 lsn]# find /lbz -type f -name "*.txt" |xargs cp -t /lsn           //利用cp指明誰是數據最終保存的目錄信息
2.引號符號
[root@lbz01 lbz]# echo "lbz $LANG $lsn"                                       1)""
#"" 和單引號功能相似 但對特殊信息會作解析
lbz en_US.UTF-8 123
[root@lbz01 lbz]# echo 'lbz $LANG $lsn'                                       2)''
lbz $LANG $lsn
補充:
   ``($()) 將引號中的命令先執行,將執行結果交給引號外面的命令進行處理
   沒有引號 和雙引號功能相似 可是能夠直接識別通配符信息
3.重定向符號 
#>/1> 標準輸出重定向符號
 2> 錯誤輸出重定向符號
 >>/1>> 標準輸出追加劇定向符號
 2>> 錯誤輸出追加劇定向符號  
方法一: 將正確和錯誤信息同時保留到一個文件
[root@lbz lbz]# echo lbz >>/lbz/info.log 2>>/lbz/info.log 
[root@lbz lbz]# cho lbz >>/lbz/info.log 2>>/lbz/info.log 
[root@lbz lbz]# cat /lbz/info.log
lbz
-bash: cho: command not found

方法二: 將正確和錯誤信息同時保留到一個文件
[root@lbz lbz]# echo lbz &>/lbz/info.log 
[root@lbz lbz]# cat /lbz/info.log
lbz
[root@lbz lbz]# cho lbz &>/lbz/info.log 
[root@lbz lbz]# cat /lbz/info.log
-bash: cho: command not found

方法三: 將正確和錯誤信息同時保留到一個文件
[root@lbz lbz]# echo lbz >/lbz/info.log 2>&1 
[root@lbz lbz]# cat /lbz/info.log
lbz
[root@lbz lbz]# cho lbz >/lbz/info.log 2>&1 
[root@lbz lbz]# cat /lbz/info.log
-bash: cho: command not found
4.路徑信息符號
#../ 上一級目錄
 ./ 當前路徑
 ~ 返回到家目錄
 - 兩個目錄之間進行快速切換
[root@lbz01 lbz]# cd /tmp
[root@lbz01 tmp]# cd $OLDPWD
[root@lbz01 lbz]# cd $OLDPWD
[root@lbz01 tmp]# echo $OLDPWD
/lbz
[root@lbz01 tmp]# cd /lbz
[root@lbz01 lbz]# echo $OLDPWD
/tmp
5.邏輯符號
[root@lbz01 lbz]# mkdi /lbz;touch /lbzz/lsny.txt
-bash: mkdi: command not found
touch: cannot touch ‘/lbzz/lsny.txt’: No such file or directory
[root@lbz01 lbz]# mkdi /lbz && touch /lbz/lsny.txt                           1)&&
#與邏輯符號 前一個命令執行成功, 再執行後面的命令
-bash: mkdi: command not found
[root@lbz01 lbz]# mkdir /alex && touch /alex/lbz.txt
[root@lbz01 lbz]# ll /alex/lbz.txt
-rw-r--r--. 1 root root 0 Jan 18 20:07 /alex/lbz.txt
[root@lbz01 lbz]# rmx /lsn/lbz.txt || echo "failed" >>/lsn/error.txt         2)||
#或邏輯符號 前一個命令執行失敗, 再執行後面的命令
-bash: rmx: command not found
[root@lbz01 lbz]# cat /lsn/error.txt
failed
[root@lbz01 lbz]# rm /lsn/lbz.txt || echo "failed" >>/lsn/error.txt
[root@lbz01 lbz]# cat /lsn/error.txt
failed

2.系統通配符號sql

//系統通配符號(利用通配符號匹配文件名稱信息)
1. * 模糊匹配全部內容
2. {} 生成序列信息 (生成一行序列)
1) 生成連續序列
2) 生成不連續序列
3) 生成組合序列
4) 快速備份文件數據方法
1. * 模糊匹配全部內容
[root@lbz01 ~]# find /lbz -type f -name "*.txt"                              1. * 模糊匹配全部內容
/lbz/ok.txt
/lbz/error.txt
/lbz/lbz.txt
/lbz/alex.txt
/lbz/lsn.txt
/lbz/lsny.txt
[root@lbz01 ~]# ll /lbz/*.txt
-rw-r--r--. 1 root root  0 Jan 18 20:28 /lbz/alex.txt
-rw-r--r--. 1 root root  0 Jan 18 20:00 /lbz/error.txt
lrwxrwxrwx. 1 root root 12 Jan 18 09:42 /lbz/lbz_soft_link.txt -> /lbz/lbz.txt
-rw-r--r--. 1 root root  0 Jan 18 20:27 /lbz/lbz.txt
-rw-r--r--. 1 root root  0 Jan 18 23:38 /lbz/lsn.txt
-rw-r--r--. 1 root root  0 Jan 18 23:38 /lbz/lsny.txt
-rw-r--r--. 1 root root  4 Jan 18 20:00 /lbz/ok.txt
2. {} 生成序列信息 (生成一行序列)
[root@lbz01 ~]# echo {1..10}                                                  1) 生成連續序列         
1 2 3 4 5 6 7 8 9 10
[root@lbz01 ~]# echo {1..10..2}                                               2) 生成不連續序列
1 3 5 7 9
[root@lbz01 ~]# echo {A,B}{01,02}                                             3) 生成組合序列
A01 A02 B01 B02
[root@lbz01 lbz]# echo /lbz/lbz.txt{,.bak}                                    4) 快速備份文件數據方法
/lbz/lbz.txt /lbz/lbz.txt.bak
[root@lbz01 lbz]# cp /lbz/lbz.txt{,.bak}

3.正則符號
1. 利用正則符號匹配文件內容信息
2. 正則符號常常出如今各類開發語言中, python java php
3. 正則符號常常被三劍客命令使用
1.基礎正則符號: basic regular expression BREexpress

//基礎正則符號
1.^以什麼開頭的信息
2.$以什麼結尾的信息
[root@lbz01 ~]# cat >>/lbz/lbz.txt<<EOF                  //建立測試環境
> # lbz-sz-01
> lbz-linux
> lbz-python-linux
>
> # lbz-sh
> lbz-linux
> lbz-python-linux
>
> # lbz-bj
> lbz-linux
> java
> mysql
> go
> python
> EOF
[root@lbz01 ~]# grep "^lbz" /lbz/lbz.txt                 1.將以lbz開頭的行找出來
lbz-linux
lbz-python-linux
lbz-linux
lbz-python-linux
lbz-linux
[root@lbz01 ~]# grep "linux$" /lbz/lbz.txt               2.將以lbz結尾的行找出來
lbz-linux
lbz-python-linux
lbz-linux
lbz-python-linux
lbz-linux
[root@lbz01 ~]# grep -v "^$" /lbz/lbz.txt                // 將所有內容顯示,但不要顯示空行
# lbz-sz-01
lbz-linux
lbz-python-linux
# lbz-sh
lbz-linux
lbz-python-linux
# lbz-bj
lbz-linux
java
mysql
go
python
//基礎正則符號
1. .符號
2. *星符號
3. .*點星結合
4. \轉義符號
5. []括號符號
6. [^]括號和尖號組合
[root@lbz01 ~]# cat >>~/lbz_test.txt<<EOF                        //建立實驗環境
> I am lbz teacher!
> I teach linux.
>
> I like badminton ball ,billiard ball and chinese chess!
> my blog is http://lbz.blog.51cto.com
> our site is http://www.etiantian.org
> my qq num is 49000448.
>
> not 4900000448.
> my god ,i am not lez,but LBZ!
> EOF

[root@lbz01 ~]# grep "." ~/lbz_test.txt (-o)                      1. .符號
#. 匹配任意一個字符,且只有一個字符(-o顯示匹配過程)
I am lbz teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://lbz.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not lez,but LBZ!
[root@lbz01 ~]# grep "0*" ~/lbz_test.txt                          2. *符號
#匹配前一個字符連續出現了0次或者屢次
I am lbz teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://lbz.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.

not 4900000448.
my god ,i am not lez,but LBZ!
[root@lbz01 ~]# grep "^m.*m$" ~/lbz_test.txt                      3. .*點星結合
# .* 匹配任意全部信息
my blog is http://lbz.blog.51cto.com
[root@lbz01 ~]# grep "^m.*o" ~/lbz_test.txt                       //貪婪匹配
my blog is http://lbz.blog.51cto.com
my god ,i am not lez,but LBZ!
[root@lbz01 ~]# grep "^m.*to" ~/lbz_test.txt                      //指定具體信息阻止貪婪匹配
my blog is http://lbz.blog.51cto.com
[root@lbz01 ~]# echo -e "lbz01\nlbz02\nlbz03"                     4. \轉義符號
\做用:
01. 將有特殊意義符號,轉義成普通訊息進行識別
02. 將沒有意義的信息轉義爲有特殊意義的信息
\n 換行符號
\t 製表符號
lbz01
lbz02
lbz03
[root@lbz01 ~]# grep ".$" lbz_test.txt                            //使用轉義符號前
I am lbz teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://lbz.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not lez,but LBZ!
[root@lbz01 ~]# grep "\.$" lbz_test.txt                           //使用轉義符號後
I teach linux.
my qq num is 49000448.
not 4900000448.
[root@lbz01 ~]# grep "l[be]z" lbz_test.txt                        5. []括號符號
#[] 匹配多個字符信息
I am lbz teacher!
my blog is http://lbz.blog.51cto.com
my god ,i am not lez,but LBZ!
[root@lbz01 ~]# grep "^[Im]" lbz_test.txt
I am lbz teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://lbz.blog.51cto.com
my qq num is 49000448.
my god ,i am not lez,but LBZ!
[root@lbz01 ~]# grep "[abc]" lbz_test.txt                          6. [^]括號和尖號組合
#[^] 排除符號
I am lbz teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://lbz.blog.51cto.com
our site is http://www.etiantian.org
my god ,i am not lez,but LBZ!
[root@lbz01 ~]# grep "[^abc]" lbz_test.txt
I am lbz teacher!
I teach linux.
I like badminton ball ,billiard ball and chinese chess!
my blog is http://lbz.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.
not 4900000448.
my god ,i am not lez,but LBZ!

2.擴展正則符號: extended regular expression EREbash

//擴展正則符號
默認 grep sed不能直接識別
grep 提高本身 -- egrep/grep -E 
sed 提高本身 -- sed -r 
1. +號符號:+
2. 豎線符號:|
3. 括號符號:()
4. 括號符號:{}
5. 問號符號:?
1. +號符號:+
[root@lbz01 ~]# cat lbz_test.txt                                         //實驗環境
I am lbz teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://lbz.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.

not 4900000448.
my god ,i am not lez,but LBZ!

[root@lbz01 ~]# egrep "0+" lbz_test.txt                                  1.+號符號
#+:匹配前一個字符連續出現了1次或者屢次 
my qq num is 49000448.
not 4900000448.
[root@lbz01 ~]# egrep "0+" lbz_test.txt -o
000
00[root@lbz01 ~]# grep -Ev "0+" lbz_test.txt                            //排除內容
I am lbz teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://lbz.blog.51cto.com
our site is http://www.etiantian.org

my god ,i am not lez,but LBZ!
000
2. 豎線符號:|
[root@lbz01 ~]# grep -E "lbz|lez" lbz_test.txt                          2. 豎線符號:|
#|:而且符號,用於匹配多個信息
I am lbz teacher!
my blog is http://lbz.blog.51cto.com
my god ,i am not lez,but LBZ!
3. 括號符號:()
[root@lbz01 ~]# grep -E "l(be)z" lbz_test.txt                           3. 括號符號:()
#():指定信息進行總體匹配
[root@lbz01 ~]# grep -E "l(b|e)z" lbz_test.txt
I am lbz teacher!
my blog is http://lbz.blog.51cto.com
my god ,i am not lez,but LBZ!
#():進行後項引用前項使用: sed命令替換功能
[root@lbz01 ~]# echo lbz{01..10}|xargs -n 1|sed -r 's#(.*)#useradd\1#g'
useraddlbz01
useraddlbz02
useraddlbz03
useraddlbz04
useraddlbz05
useraddlbz06
useraddlbz07
useraddlbz08
useraddlbz09
useraddlbz10
[root@lbz01 ~]# seq -w 10|sed -r 's#(.*)#useradd lbz\1;echo 123456|passwd --stdin lbz\1#g'
//批量建立用戶 lbz01..lbz10,並給每一個用戶設置密碼信息,默認初始化密碼(123456)
useradd lbz01;echo 123456|passwd --stdin lbz01
useradd lbz02;echo 123456|passwd --stdin lbz02
useradd lbz03;echo 123456|passwd --stdin lbz03
useradd lbz04;echo 123456|passwd --stdin lbz04
useradd lbz05;echo 123456|passwd --stdin lbz05
useradd lbz06;echo 123456|passwd --stdin lbz06
useradd lbz07;echo 123456|passwd --stdin lbz07
useradd lbz08;echo 123456|passwd --stdin lbz08
useradd lbz09;echo 123456|passwd --stdin lbz09
useradd lbz10;echo 123456|passwd --stdin lbz10
[root@lbz01 ~]# echo 123456|sed -r 's#([1-6]+)#<\1>#g' 
//將輸出的信息echo 123456 ==> 轉換爲 <123456>進行顯示            
<123456>
[root@lbz01 ~]# echo 123456|sed -r 's#(12)(34)(56)#<\1><\2><\3>#g'
#echo 123456 ==> 轉換爲 <12><34><56>進行顯示
<12><34><56>
[root@lbz01 ~]# echo 123456|sed -r 's#(12)(34)(56)#<\1><><\3>#g'
<12><><56>
[root@lbz01 ~]# echo 123456|sed -r 's#(12)(34)(56)#<\1><\3><\3>#g'
<12><56><56>
[root@lbz01 ~]# echo 123456|sed -r 's#(..)(..)(..)#<\1><\2><\3>#g'
<12><34><56>
4. 括號符號:{}
#能夠指定字符連續匹配的次數                                               4.括號符號:{}                                            
[root@lbz01 ~]# grep -E "0{2,3}" lbz_test.txt
#第一種狀況: x{n,m} 表示前一個字符至少連續出現n次,最多出現m次
my qq num is 49000448.
not 4900000448.
[root@lbz01 ~]# grep -E "0{2,3}" lbz_test.txt -o
000
000
00
[root@lbz01 ~]# grep -E "0{2}" lbz_test.txt
#第二種狀況: x{n} 表示前一個字符正好連續出現了n次
my qq num is 49000448.
not 4900000448.
[root@lbz01 ~]# grep -E "0{2}" lbz_test.txt -o
00
00
00
[root@lbz01 ~]# grep -E "0{2,}" lbz_test.txt
#第三種狀況: x{n,} 表示前一個字符至少連續出現n次,最多出現多少次不限
my qq num is 49000448.
not 4900000448.
[root@lbz01 ~]# grep -E "0{2,}" lbz_test.txt -o
000
00000
[root@lbz01 ~]# grep -E "0{,2}" lbz_test.txt
#第四種狀況: x{,m} 表示前一個字符至少連續出現0次,最多出現m次
I am lbz teacher!
I teach linux.
[root@lbz01 ~]# grep -E "0{,2}" lbz_test.txt -o
00
0
00
00
0
5. 問號符號:?
定義匹配前一個字符出現0或者1次                                           5.問號符號:?
[root@lbz01 ~]# cat >>lbz_test03.txt<<EOF                           //建立測試環境
> gd
> god
> good
> goood
> gooood
> EOF
[root@lbz01 ~]# egrep "o?" lbz_test03.txt
gd
god
good
goood
gooood
[root@lbz01 ~]# egrep "o?" lbz_test03.txt -o
o
o
o
o
o
o
o
o
o
o
補充:想讓grep sed命令能夠直接識別擴展正則
[root@lbz01 ~]# grep "o\+" lbz_test03.txt
god
good
goood
gooood
[root@lbz01 ~]# echo 123456|sed "s#\(..\)\(..\)\(..\)#<\1><\2><\3>#g"
<12><34><56>
//區分:
* 匹配前一個字符出現0次或者屢次
+ 匹配前一個字符出現1次或者屢次
{} 匹配前一個字符指定出現多少次,至少0次
? 匹配前一個字符出現0次或者1次

補充:利用ip address show eth0只把IP地址信息顯示出來
[root@lbz01 ~]# ip a s eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UPgroup default qlen 1000
    link/ether 00:0c:29:9b:9b:9c brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::f36b:6d73:ec43:617c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
[root@lbz01 ~]# ip a s eth0|grep "[0-9].[0-9].[0-9].[0-9]"
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
[root@lbz01 ~]# ip a s eth0|grep "[0-9]+.[0-9]+.[0-9]+.[0-9]+"
[root@lbz01 ~]# ip a s eth0|egrep "[0-9]+.[0-9]+.[0-9]+.[0-9]+"
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
[root@lbz01 ~]# ip a s eth0|egrep "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+"
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
[root@lbz01 ~]# ip a s eth0|egrep "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" -o
10.0.0.200
10.0.0.255
[root@lbz01 ~]# ip a s eth0|egrep "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" -o|head -1
10.0.0.200
[root@lbz01 ~]# ip a s eth0|egrep "([0-9]+\.)"
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
[root@lbz01 ~]# ip a s eth0|egrep "([0-9]+\.)" -o
10.
0.
0.
10.
0.
0.
[root@lbz01 ~]# ip a s eth0|egrep "([0-9]+\.){3}[0-9]+" -o
10.0.0.200
10.0.0.255
[root@lbz01 ~]# ip a s eth0|egrep "([0-9]+\.?){4}" -o
1500
1000
10.0.0.200
10.0.0.255
[root@lbz01 ~]# ip a s eth0|egrep "([0-9]+\.?){4}"
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UPgroup default qlen 1000
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
[root@lbz01 ~]# ip a s eth0|egrep "([0-9]+\.?){4}"|head -3
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UPgroup default qlen 1000
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
[root@lbz01 ~]# ip a s eth0|egrep "([0-9]+\.?){4}"|head -3|tail -1
    inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute eth0
[root@lbz01 ~]# ip a s eth0|egrep "([0-9]+\.?){4}" -o|head -3|tail -1
10.0.0.200

問題及反思:測試

實驗環境:spa

[root@lbz01 ~]# cat lbz_test.txt
I am $lbz teacher!
I \teach \linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://lbz.blog.51cto.com
our site is http://www.etiantian.org
my qq num is 49000448.

not 4900000448.
my god ,i am not lez,but LBZ!

01. 文件中有\撬棍信息,如何進行過濾

[root@lbz01 ~]# grep '\' lbz_test.txt
grep: Trailing backslash
[root@lbz01 ~]# grep '\\' lbz_test.txt
I \teach \linux.

02. 文件中有$符號, 是識別變量, 仍是識別普通符號

[root@lbz01 ~]# grep '$lbz' lbz_test.txt
I am $lbz teacher!
[root@lbz01 ~]# grep '\$lbz' lbz_test.txt
I am $lbz teacher!

 總結:

 

系統特殊符號

符號

含義

語法

|

 

前一個命令執行結果交給後面命令處理

find /lbz -type f -name "*.txt" |xargs -i cp {} /lsn

「」

對特殊信息會作解析

echo "lbz $LANG $lsn"

‘’

所見及所得

echo 'lbz $LANG $lsn'

>/1

標準輸出重定向符號

 

2>

錯誤輸出重定向符

 

>>/1>>

標準輸出追加劇定向符號

 

2>

錯誤輸出追加劇定向符

 

../

上一級目錄

 

./

當前路徑

 

~

返回到家目錄

 

-

兩個目錄之間進行快速切換

 

$OLDPWD

上一級目錄

cd $OLDPWD

&&

與邏輯符號 前一個命令執行成功, 再執行後面的命令

mkdir /alex && touch /alex/lbz.txt

||

或邏輯符號 前一個命令執行失敗, 再執行後面的命令

rmx /lsn/lbz.txt || echo "failed" >>/lsn/error.txt 

系統通配符號

*

模糊匹配全部內容

ll /lbz/*.txt

{}

生成序列信息 (生成一行序列)

echo {1..10}

基礎正則符號

 

符號

含義

語法

^

以什麼開頭的信息進行匹配

grep "^lbz" /lbz/lbz.txt 

 

$

以什麼結尾的信息進行匹配

grep "linux$" /lbz/lbz.txt

^$

表示匹配空行信息

grep -v "^$" /lbz/lbz.txt(-v排除內容)

.

匹配任意一個且只有一個字符

grep "." ~/lbz_test.txt

*

匹配前一個字符連續出現0次或者屢次

grep "0*" ~/lbz_test

.*

匹配全部任意信息

grep "^m.*m$" ~/lbz_test.txt  

\

將有意義的字符信息,轉義成普通字符進行識別 

grep "\.$" lbz_test.txt

 

將沒有意義的字符信息轉成有意義的字符

\n \r \t

[]

匹配多個字符信息,多個字符匹配時,是或者的關係

grep "l[be]z" lbz_test.txt    

[^]

對匹配的字符信息進行排除

grep "[^abc]" lbz_test.txt

擴展正則符號

grep命令識別擴展正則: egrep -E
sed
命令識別擴展正則: sed -r

+

匹配前一個字符連續出現1次或者屢次

egrep "0+" lbz_test.txt

|

利用豎線能夠匹配多個字符串信息

grep -E "lbz|lez" lbz_test.txt

()

將多個字符信息彙總成總體,進行過濾

grep -E "l(be)z" lbz_test.txt

{}

指定匹配前一個字符連續出現了多少次

 

{n,m}

至少連續n,最多連續m

grep -E "0{2,3}" lbz_test.txt -

{n}

匹配只連續n次的信息

grep -E "0{2}" lbz_test.txt

{n,}

至少連續n,最多不限

grep -E "0{2,}" lbz_test.txt

{,m}

至少連續0,最多m 

grep -E "0{,2}" lbz_test.txt

?

匹配前一個字符連續出現0次或者1 

egrep "o?" lbz_test03.txt

 

版權屬於:木丫頭

 

轉載必須得聲明

相關文章
相關標籤/搜索