擴充套件的正規表示式:
擴充套件正規表示式,顧名思義是對正規表示式的乙個擴充套件,其接受所有的正規表示式,並對grep進行了擴充。如:支援或者表示式 a|b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
字元匹配:
. : 匹配任意單個字元
: 匹配指定範圍內的任意單個字元
[^] : 匹配指定範圍外的任意單個字元
次數匹配:
* : 任意次
? :0或1次,表示其左側字元可有可無
+: 至少1次
:精確匹配m次;
:至少m次,至多次;
:至少m次;
:至多次;
位置錨定:
^ : 錨定行首
$ : 錨定行尾
\<, \b : 詞首錨定
\>, \b : 詞尾錨定
分組:()
引用:\1, \2, ...
或者:
a|b:a或者b (或者兩側的所有內容)
命令:grep -e = egrep例:1
2
3
4
5
6
7
8
建立grep.txt
abc
abbbc
ababc
c
abab
ac
dbabc
a?c 匹配0或1次
1
2
3
4
5
6
7
[root@1inux tmp]# egrep --color=auto "a?c" grep.txt
abc
abbbc
ababc
c
ac
dbabc
+: 至少1次
1
2
3
4
5
[root@1inux tmp]# egrep
"b+c"
grep.txt
abc
abbbc
ababc
dbabc
:精確匹配m次
1
2
[root@1inux tmp]# egrep "bc" grep.txt
abbbc
^: 行首錨定:
1
2
[root@1inux tmp]# egrep "^c" grep
.
txt
c
$:錨定行尾
1
2
[root@1inux tmp]# egrep "shutdown$" /etc/passwd
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
顯示當前系統上root、fedora或user1使用者的預設shell;
1
2
3
4
[root
@1inux
tmp]
# egrep "^(root|fedora|user1)" /etc/passwd | cut -d: -f7
/bin/bash
/bin/bash
/bin/bash
顯示/boot/grub/grub.conf中以至少乙個空白字元開頭的行;
1
2
3
4
[root@1inux tmp]# egrep
"^[[:space:]]+"
/boot/grub/grub.conf
root (hd0,0)
no_luks
rd_
no_dm
lang
=en_
us
.
utf
-8 rd_
lvm_lv
=vg0/swap rd_
no_md
sysfont
=latarcyrheb-sun16 crashkernel=auto rd_
lvm_lv
=vg0/root
keyboardtype
=pc
keytable
=us rhgb crashkernel=auto quiet rhgb quiet
initrd /initramfs-2.6.32-504.el6.x86_64.img
Linux系統之正規表示式
正規表示式 概述 正規表示式是由一系列字元和元字元構成的字串,簡稱re regular expression 主要功能書文字查詢和字串操作,他可以匹配文字的乙個字元或字元集合。正規表示式完成了資料的過濾,將不符合正則表達是的資料拒絕,留下符合的 字元匹配 匹配任意單個字元 匹配指定範圍內任意單個字元...
擴充套件正規表示式
事實上,一般實驗者只需要熟悉基礎的正規表示式就足夠了。不過有時候為了簡化命令操作,了解一些使用範圍更廣的擴充套件表示式,會更加方便。正規表示法 grep v regular express.txt grep v 需要使用到管線命令來搜尋兩次!那麼如果使用延伸型的正規表示法,我們可以簡化為 egrep...
擴充套件正規表示式
使用egrep或者grep e 一般都是使用egrp 語法 擴充套件正規表示式 re字元 意義與範例 重複乙個或者乙個以上的前乙個字元 egrep n go d regular express.txt 零個或者乙個前乙個字元 egrep n go?d regular express.txt or的意...