Linux運維云升筆記(一)正則表達式以及文檔編輯器sed-創(chuàng)新互聯(lián)

正則表達式概述

使用單個字符來描述、匹配一系列符合某個語句規(guī)則的字符串,由普通字符與特殊字符組成,正則表達式廣泛使用在腳本編程、文本編輯器中。
正則表達式簡寫為regex、regexp、RE。
再大多數(shù)語言當(dāng)中正則表達式都被包括在兩個正斜杠當(dāng)中“/”
正則表達式有一個特點“貪婪匹配”:盡量匹配最長的

在吳起等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,吳起網(wǎng)站建設(shè)費用合理。

正則表達式分類

  • 基礎(chǔ)正則表達式
    \ 轉(zhuǎn)義字符。例如:“!”將邏輯否的!看做普通字符,\還可以折行
    例子1:
    [root@localhost ~]# ls -l /home \
    > /tmp
    例子2:
    [root@localhost ~]# grep "b.*in" a.txt 
    12 bin 34
    23 sb.*in 23
    44 binary 49
    23 binlog 23
    [root@localhost ~]# grep "b\.\*in" a.txt 
    23 sb.*in 23

    ^ 匹配字符串開始的位置,以…為開頭的
    $ 匹配字符串結(jié)束的位置,以…為結(jié)尾的
    ^$ 表示空行,不是空格

    例子:
    [root@localhost ~]# cat a.txt 
    aa
    aa bb aa
    a b a
    [root@localhost ~]# grep "^aa$" a.txt 
    aa
    .           匹配任意字符串
    *         匹配前面子表達式(字符)0次或者多次
    例子:
    [root@localhost ~]# grep "a 0*" a.txt 
    aa 0
    aa 00
    aa bb 0000 aa 00
    a b a 000
.*          匹配任意字符串

[list]      匹配list列表中的一個字符,例如:[abc]、[a-z]、[a-zA-Z0-9]
例子:
[root@localhost ~]# ifconfig ens32 | grep "TX [pe]"
        TX packets 1776  bytes 206946 (202.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[^list]     匹配任意非list表中的一個字符,例如:[^a-z]、[^0-9]、[^A-Z0-9]
例子:
[root@localhost ~]# ifconfig ens32 | grep "TX [a-f]"
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@localhost ~]# ifconfig ens32 | grep "TX [^a-f]"
        TX packets 1814  bytes 210662 (205.7 KiB)
\{n\}       匹配前面子表達式n次
例子:
[root@localhost ~]# grep "a 0\{2\}" a.txt 
aa 00
aa bb 0000 aa 00
a b a 000
\{n,\}      匹配前面子表達式至少n次
[root@localhost ~]# grep "a 0\{2,\}" a.txt 
aa 00
aa bb 0000 aa 00
a b a 000
\{n,m\}     匹配前面子表達式最少n次,大m次
\<          詞首牟定:固定詞首
\>          詞未牟定:固定詞尾 
例子:
[root@localhost ~]# grep "\<a\>" a.txt 
a b a 000
轉(zhuǎn)義字符 意義
\a響鈴(BEL)
\b退格(BS),將當(dāng)前位置移到前一列
換行(LF)將當(dāng)前位置移到下一行的開頭
\r回車(CR)將當(dāng)前位置移動到本行開頭
\t水平制表(HT)調(diào)到下一個TAB位置
\v垂直制表(VT)
\代表一個反斜杠字符“\”
  • 擴展正則表達式

    +匹配前面子表達式1次及以上
    ? 匹配前面子表達式0次或者1次
    () 將括號中的字符串作為一個整體
    | 以或的方式匹配字符

Linux常用的文本處理工具

  • grep 匹配,查詢(過濾)
  • sed 編輯(增加,刪除,修改)
  • awk 文本格式化(字符串提取)

注意事項

  • Linux中正則一般以行為單位處理文件
  • alias grep=‘grep --color=auto’
  • 注意字符集,LANG=C

通配符
正則表達式和我們命令行中使用的通配符是有本質(zhì)區(qū)別的。
通配符一般是處理文件名的
ls -l .txt
:任意長度任意字符串,屬于通配符。
?:單個任意字符串,屬于通配符。

grep命令的參數(shù)
-v 排除匹配的內(nèi)容(取反)

-E 支持擴展正則表達式=egrep

[root@localhost ~]# grep -Ev "^$|#" /etc/httpd/conf/httpd.conf 
ServerRoot "/etc/httpd"
Listen 80
Include conf.modules.d/*.conf

-i 忽略大小寫

[root@localhost ~]# cat a.txt
aAAA
[root@localhost ~]# grep -i "a" a.txt 
aAAA
[root@localhost ~]#

-o 只輸出匹配的內(nèi)容

[root@localhost ~]# grep -o "root" /etc/passwd
root
root

–color=auto 匹配的內(nèi)容顯示顏色(用的不多 alias查看別名)

-n 在行首顯示行號

[root@localhost ~]# grep -n "root" /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin
43:admin:x:1000:1000:root:/home/admin:/bin/bash

-q 匹配內(nèi)容不顯示(靜默輸出,一般寫腳本的時候用而不輸出到屏幕)

-w 將過濾條件當(dāng)成單詞來匹配

[root@localhost ~]# grep -w "bin" /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
admin:x:1000:1000:root:/home/admin:/bin/bash
[root@localhost ~]# grep "bin" /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

-c 只輸出匹配行的計數(shù)

[root@localhost ~]# grep -c "root" /etc/passwd
3

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享題目:Linux運維云升筆記(一)正則表達式以及文檔編輯器sed-創(chuàng)新互聯(lián)
文章出自:http://muchs.cn/article10/dhoddo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、服務(wù)器托管全網(wǎng)營銷推廣、網(wǎng)站營銷Google、手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作