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

1.特殊符號java

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

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

` `   至關於$(),先運行括號裏面的命令,把結果留下正則表達式

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

>>    追加劇定向(在文件最後追加內容)命令行

2>    錯誤重定向blog

2>>     錯誤追加劇定向io

~       當前用戶家目錄class

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

#  註釋或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

相關文章
相關標籤/搜索