linux內特殊符號、通配符、正則表達式


1.特殊符號

' '  所見即所得。原樣輸出。

" "  特殊符號會被解析運行

` `   相當於$(),先運行括號里面的命令,把結果留下

> 重定向(先清空文件,再追加內容到文件)

>>    追加重定向(在文件最后追加內容)

2>    錯誤重定向

2>>     錯誤追加重定向

~       當前用戶家目錄

!  查找並運行歷史命令。eg:!sed   查找最近的一條,包含sed的命令並運行。一般不用這個,用:history |grep sed

#  注釋或root的命令行提示符

$  取變量的值   或  普通用戶的命令行提示符

*  所有;任何東西

\  轉義字符

&&  前一個命令執行成功,再執行后一個命令。eg:ifdown eth0 && ifup  eth0

||  前一個命令執行失敗,再執行后一個命令

2.通配符

 通配符是用來查找文件的

*    表示所有,任意

{}    生成序列

 

 

3.正則表達式

通過符號表示文字內容。正則表達式是按照行進行處理的;禁止使用中文符號。

通配符和正則的區別:

  通配符--用來匹配查找文件名,linux大部分命令均可使用

  正則--在文件中匹配查找內容。grep/sed/awk/find命令支持,java、python這些高級語言內支持。

正則分類:

  基礎正則:^    .    *    $    []    [^]    basic regular expression   BRE

  擴展正則:|    +    {}    ()    ?        extened regular expression   ERE

  ^  行首

  .(點)  任何一個字符,不匹配空行  

  *  匹配前一個字符連續出現0次或1次以上     >=0次。注意:連續出現0次====什么也沒有,就會把整個文件內容都顯示出來。如:grep "w*" tmp.txt    會將tmp.txt整個文件內容顯示出來

  $  行尾

  []  [ABC]------匹配A或B或C。中括號相當於一個符號,一次只匹配一個字符。

  [^]  [^ABC]------排除A或B或C的內容

  .*  所有字符,所有符號

 

  |  或者。如:egrep "456|abc" tmp.txt

  +  匹配前一個符號1次或多次    >=1次。可以把連續的東西通過正則匹配出來,一般與 [] 配合使用。

  {}  g{n,m}--前一個字符最少出現n次,最多m次;g{n}--前一個字符出現了n次;g{,m}--前一個字符最多出現m次;g{n,}--前一個字符最少出現n次。

  ()  括號中內容相當於是一個整體。用於后向引用(反向引用)。常用於sed。eg:sed -r 's#.(.)..(..)#\2#g' test.txt    sed -r 's#(.*)#\1#g'  test.txt    egrep "gr(a|e)y"  test.txt

  ?  前一個字符連續出現0次或1次

  

  支持基礎正則    基礎+擴展正則

         grep      egrep或grep -E

    sed            sed  -r

    awk            awk

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM