成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

nginx

andycall / 2757人閱讀

摘要:文本處理工具文本處理三劍客文本過濾工具基本正則表達(dá)式,流編輯器文本編輯工具上的實(shí)現(xiàn)為,文本報告生成器,格式化文本正則表達(dá)式由一類特殊字符及文本字符所編寫的模式類別基本正則表達(dá)式擴(kuò)展正則表達(dá)式作用文本搜索工具,根據(jù)用戶指定的模式過濾條件對目標(biāo)

Command grep 文本處理工具

Linux文本處理三劍客

grep:文本過濾工具(pattern)
    grep:基本正則表達(dá)式
sed:stream editor,流編輯器:文本編輯工具
gawk:Linux上的實(shí)現(xiàn)為gawk,文本報告生成器,格式化文本
    

正則表達(dá)式:

Regular Expression    REGEXP
    由一類特殊字符及文本字符所編寫的模式
    類別:
        基本正則表達(dá)式:BRE
        擴(kuò)展正則表達(dá)式:ERE
grep:Global search REgular expression and Print out the line

作用:文本搜索工具,根據(jù)用戶指定的“模式(過濾條件)”對目標(biāo)文本逐行進(jìn)行匹配檢查;打印匹配到的行;
模式:由正則表達(dá)式的元字符及文本字符所編寫出的過濾條件;
格式:

grep  [OPTIONS]  PATTERN  [FILE...]
grep  [OPTIONS]  [-e PATTERN | -f FILE]  [FILE...]

OPTIONS:

--color=auto:對匹配到的文本著色后高亮顯示;
-i:ignorecase,忽略字符的大小寫;
-o:僅顯示匹配到的字符串本身;即不會顯示匹配到的字符串所在的行
-v, --invert-match:顯示不能被模式匹配到的行;
-E:支持使用擴(kuò)展的正則表達(dá)式元字符;
-q, --quiet, --silent:靜默模式,即不輸出任何信息;

-A #:after, 后#行
-B #:before,前#行
-C #:context,前后各#行
正則表達(dá)式 基本正則表達(dá)式元字符

字符匹配:

. :匹配任意單個字符;
[]:匹配指定范圍內(nèi)的任意單個字符;
[^]:匹配指定范圍外的任意單個字符;
    [:digit:]、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:]
    

匹配次數(shù):用在要指定其出現(xiàn)的次數(shù)的字符的后面,用于限制其前面字符出現(xiàn)的次數(shù);默認(rèn)工作于貪婪模式;

*:匹配其前面的字符任意次;0,1,多次;
    例如:grep "x+y"
        abxy
        aby
        xxxxxy
        yab
.*:匹配任意長度的任意字符
?:匹配其前面的字符0次或1次;即其前面的字符是可有可無的;
+:匹配其前面的字符1次或多次;即其面的字符要出現(xiàn)至少1次;
{m}:匹配其前面的字符m次;
{m,n}:匹配其前面的字符至少m次,至多n次;
    {0,n}:至多n次
    {m,}:至少m次

位置錨定:

^:行首錨定;用于模式的最左側(cè);
$:行尾錨定;用于模式的最右側(cè);
^PATTERN$:用于PATTERN來匹配整行;
    ^$:空白行;
    ^[[:space:]]*$:空行或包含空白字符的行;

單詞:非特殊字符組成的連續(xù)字符(字符串)都稱為單詞;

< 或 :詞首錨定,用于單詞模式的左側(cè);
> 或 :詞尾錨定,用于單詞模式的右側(cè);
:匹配完整單詞;

分組及引用

():將一個或多個字符捆綁在一起,當(dāng)作一個整體進(jìn)行處理;
    (xy)*ab

    后向引用:引用前面的分組括號中的模式所匹配到的字符;    
Note:分組括號中的模式匹配 到的內(nèi)容會被正則表達(dá)式引擎自動記錄于內(nèi)部的變量中,這些變量為:
    1:模式從左側(cè)起,第一個左括號以及與之匹配的右括號之間的模式所匹配到的字符;
    2:模式從左側(cè)起,第二個左括號以及與之匹配的右括號之間的模式所匹配到的字符;
    3
    ...

或者

|
            He loves his lover.
            He likes his lover.
            She likes her liker.
            She loves her liker.

試驗(yàn)

1、顯示/etc/passwd文件中不以/bin/bash結(jié)尾的行;
    grep  -v "/bin/bash"/bin/bash
2、找出/etc/passwd文件中的兩位數(shù)或三位數(shù);
    grep "<[0-9]{2,3}>" /etc/passwd
3、找出/etc/rc.d/rc.sysinit或/etc/grub2.cfg文件中,以至少一個空白字符開頭,且后面非空白字符的行;
    grep "^[[:space:]]+[^[:space:]]"
4、找出"netstat -tan"命令的結(jié)果中以"LISTEN"后跟0、1或多個空白字符結(jié)尾的行;
    ~]# netstat -tan | grep  "LISTEN[[:space:]]*$"


擴(kuò)展正則表達(dá)式 egrep:extended grep

支持?jǐn)U展的正則表達(dá)式實(shí)現(xiàn)類似于grep文本過濾功能;相當(dāng)于grep -E
格式:egrep [OPTIONS] PATTERN [FILE...]

選項(xiàng):

-i, -o, -v, -q, -A, -B, -C
-G:支持基本正則表達(dá)式
    

擴(kuò)展正則表達(dá)式的元字符:

字符匹配:
    .:任意單個字符
    []:指定范圍內(nèi)的任意單個字符
    [^]:指定范圍外的任意單個字符
        
次數(shù)匹配:
    *:任意次,0,1或多次;
    ?:0次或1次,其前的字符是可有可無的;
    +:其前字符至少1次;
    {m}:其前的字符m次;
    {m,n}:至少m次,至多n次; 
        {0,n}
        {m,}
位置錨定
    ^:行首錨定;
    $:行尾錨定;
    <, :詞首錨定;
    >, :詞尾錨定;
分組及引用:
    ():分組;括號內(nèi)的模式匹配到的字符會被記錄于正則表達(dá)式引擎的內(nèi)部變量中;
    后向引用:1, 2, ...
或:
    a|b:a或者b;
        C|cat:C或cat
        (c|C)at:cat或Cat
                    
    

試驗(yàn)

1、找出/proc/meminfo文件中,所有以大寫或小寫S開頭的行;至少有三種實(shí)現(xiàn)方式;
    grep "^[Ss]" /proc/meminfo
    grep "^[Ss].*$" /proc/meminfo
    grep "^<[Ss].*>.*" /proc/meminfo
    grep -i "^s" /proc/meminfo
    grep -E "^(s|S)" /proc/meminfo
2、顯示肖前系統(tǒng)上root、centos或user1用戶的相關(guān)信息;
    grep -E "^(root|sshd|husa)>" /etc/passwd
        不要忘記了錨定詞尾
3、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一個小括號的行;
    grep -E "<[[:alnum:]]+>()" /etc/rc.d/init.d/functions
4、使用echo命令輸出一絕對路徑,使用egrep取出基名;
    echo "/home/husa" | grep -E -o "([^/]+)/?$"
5、找出ifconfig命令結(jié)果中的1-255之間的數(shù)值;
    ~]# ifconfig | grep  -E  -o  "<([1-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])>"
6、IP地址
    "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"
7、添加用戶bash, testbash, basher以及nologin(其shell為/sbin/nologin);而后找出/etc/passwd文件中用戶名同shell名的行;
    ~]# grep  -E  "^([^:]+>).*1$"  /etc/passwd 
fgrep

fgrep:不支持正則表達(dá)式元字符

    當(dāng)無需要用到元字符去編寫模式時,使用fgrep效率更高

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39253.html

相關(guān)文章

  • Nginx 一點(diǎn)一滴 01 - 安裝運(yùn)行

    摘要:這時才發(fā)現(xiàn)上面的配置錯誤,必須用絕對路徑,不能用形如符號卸載重裝的正確姿勢查看當(dāng)前版本版本信息這里要重定向才可以輸出到文件哦之后,進(jìn)程是重新創(chuàng)建了的里面保存的是的主進(jìn)程號 GET THE CODE ganiks ? nginx-1.8.0 wget http://nginx.org/download/nginx-1.8.0.tar.gz ganiks ? nginx-1.8....

    FWHeart 評論0 收藏0
  • Nginx筆記(一)Nginx安裝

    摘要:環(huán)境準(zhǔn)備準(zhǔn)備服務(wù)器確保有網(wǎng)絡(luò)確??捎藐P(guān)閉規(guī)則查看規(guī)則關(guān)閉規(guī)則保險起見,再查看下查表里是否有規(guī)則有的話,也關(guān)閉關(guān)閉策略查看是否開啟關(guān)閉安裝基礎(chǔ)庫開始安裝訪問官網(wǎng)復(fù)制以下源服務(wù)器上創(chuàng)建的源改成驗(yàn)證源從源安裝驗(yàn)證顯示如下啟動 環(huán)境準(zhǔn)備 準(zhǔn)備服務(wù)器centos7.2 確保有網(wǎng)絡(luò) ping www.baidu.com 確保yum可用 yum list | grep gcc 關(guān)閉iptables規(guī)...

    shinezejian 評論0 收藏0
  • Nginx基礎(chǔ)篇(1)- Nginx的快速搭建和基本參數(shù)

    摘要:什么是多路服用的實(shí)現(xiàn)方式基本原理函數(shù)監(jiān)視的文件描述符分類,分別是和。缺點(diǎn)能夠監(jiān)視文件描述符的數(shù)量存在最大限制。三的快速搭建和基本參數(shù)方式安裝參考創(chuàng)建文件,并輸入如下內(nèi)容可選值有和。 Nginx的快速搭建和基本參數(shù) 一、Nginx簡介 1. Nginx簡述 Nginx是一個開源且高性能、可靠的HTTP中間件、代理服務(wù)。 2. 常見的HTTP服務(wù) httpd - Apache IIS -...

    warmcheng 評論0 收藏0
  • Nginx基礎(chǔ)篇(1)- Nginx的快速搭建和基本參數(shù)

    摘要:什么是多路服用的實(shí)現(xiàn)方式基本原理函數(shù)監(jiān)視的文件描述符分類,分別是和。缺點(diǎn)能夠監(jiān)視文件描述符的數(shù)量存在最大限制。三的快速搭建和基本參數(shù)方式安裝參考創(chuàng)建文件,并輸入如下內(nèi)容可選值有和。 Nginx的快速搭建和基本參數(shù) 一、Nginx簡介 1. Nginx簡述 Nginx是一個開源且高性能、可靠的HTTP中間件、代理服務(wù)。 2. 常見的HTTP服務(wù) httpd - Apache IIS -...

    Code4App 評論0 收藏0
  • Linux下Nginx的安裝、升級及動態(tài)添加模塊

    摘要:新版本主進(jìn)程退出的同時,舊版本主進(jìn)程將會自動啟動它的工作進(jìn)程。下面我們來看一下如何給運(yùn)行中的添加模塊。 原文鏈接:http://xueliang.org/article/detail/20160615172540639 系統(tǒng)基于ubuntu server 14.04.4 amd64 安裝 第一步 下載并解壓Nginx壓縮包 從Nginx官網(wǎng)下載Nginx,或者在Linux上執(zhí)行wget...

    W4n9Hu1 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<