文字處理三劍客:
grep:搜尋工具
awk基本正規表示式元字元:
字元匹配
.:匹配任意單個字元
:匹配指定範圍內的任意單個字元
[^]:匹配指定範圍外的任意單個字元
[:digit:]:數字
[[:disit:]]:匹配任意數字
[[:lower:]]:匹配任意小寫字母
[[:upper:]]:匹配任意大寫字母
[[:alpha:]]:匹配任意字母
匹配次數
*:匹配前面字元任意次數
.*:匹配任意長度的任意字元
?:匹配前面的字元0次或1次
\ *:匹配前面的字元1次或多次
:匹配前面的字元至少m次,至多n次(匹配至多n次;匹配至少1次)
位置錨定
^:行首錨定
$:行尾錨定
^$:空行
^ [[:space:]]$:空白字元
< \b:詞首錨定
練習:1、顯示/etc/passwd中不以/bin/bash結尾的行
[root@node5 mnt]# grep -v /bin/bash$ /etc/passwd
-v為取反,$為行尾錨定
2、找出ifconfig命令中ip位址
[root@node5 ~]# ifconfig eth0 |grep inet |grep -v inet6 | cut -b 21-35
分組和應用:
\ (xy\ )\ (zd\ )ab1:在ab後匹配xy
\ (xy\ )\ (zd\ )ab2:在ab後匹配zd
[root@localhost ~]# grep l..e.*l..e file
he loves his lover
he likes his lover
she loves her lover
she likes her liker
[root@localhost ~]# grep "\(l..e\).*\1" file
he loves his lover
she loves her lover
she likes her liker
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...