国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

正則表達式(拓展)、grep(拓展)和sed

這篇具有很好參考價值的文章主要介紹了正則表達式(拓展)、grep(拓展)和sed。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、正則表達式

? egrep默認使用的是擴張正則。

? 表示次數(shù)

* 匹配前面字符任意數(shù)
? 0次或者1次
+ 1次或者多次
{n} 匹配n次
{m,n} 最少m次,最多n次
{,n} 匹配前面的字符最多n次
{n,} 匹配前面的字符最少n次

? 表示分組

()分組 將多個字符捆綁在一起當(dāng)作一個整體處理
\1、\2 后向引用
| 或者
a|b a或者b
C|cat C或cat
(C|c)at Cat或cat

二、grep

? 格式:grep [選項]… 查找條件 目標文件

選項 功能
-color=auto 對匹配到的文本著色顯示
-m 匹配#次后停止
grep -m 1 root /etc/passwd 多個匹配只取第一個
-v 顯示不被pattern匹配到的行,即取反
grep -Ev '[[:space:]]*#|^$'

-i

忽略字符大小寫
-n 顯示匹配的行號
-c 統(tǒng)計匹配的行號
grep -c root /etc/passwd 統(tǒng)計匹配到的行號
-o 僅顯示匹配到的字符串
-q 靜默模式,不輸出任何模式,用途寫腳本
-A after,后#行
grep -A3 root /etc/passwd 匹配到行后3行顯示出來
-B before,前#行
-C context,前后各#行
-e 實現(xiàn)多個選項間的邏輯or關(guān)系
grep -e root -e bash /etc/passwd 包含root或者包含bash的行
grep -E root|bash /etc/passwd
-w 匹配整個單詞
grep -w root /etc/passwd
useradd rooter
-E 使用ERE,相當(dāng)于egrep
-F 不支持正則表達式,fgrep
-f file根據(jù)模式,處理兩個文件相同內(nèi)容 把第一個文件作為匹配條件
-r 遞歸目錄,但不處理軟鏈接
-R 遞歸目錄,但處理軟鏈接

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? 統(tǒng)計當(dāng)前主機的連接狀態(tài)?

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? 統(tǒng)計當(dāng)前連接主機數(shù)

正則表達式(拓展)、grep(拓展)和sed,正則表達式

三、sed

? sed是行編輯器,和vi不同的是,sed是讀取一行,處理一行,輸出一行;而vi是將整個文件放到內(nèi)存里打開。前者基本無視文件內(nèi)容的大小,后者要注意自身內(nèi)存是否能夠涵蓋住文件大小。

? 格式:sed [選項]... {腳本(如果沒有其他腳本)} [輸入文件]...

? 3.1 基本用法

? ??sed [option]...? ? ? ? ? ? 'script;script;...' ????????????????[input ?file...]
? ? ? ? 選項? ? ? ? ? ? ? ? ? ? ? ? ? 自身腳本語法? ? ? ? ? ? ? ?支持標準輸入管道

選項 功能
-n 不輸出模式空間到屏幕,即不自動打印
-e 多點編輯[root@www data]#sed -n -e '/^r/p' /etc/passwd

-f

FILE從指定文件中讀取編輯腳本
-r、-E 使用擴展正則表達式
-i.bak 備份文件并原處編輯

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? 3.2 sed腳本語法格式

? ? 語法:地址+命令

? ? ?1. 不給地址:給全文進行處理

? ? ?2.單地址

? ? ? ?#:指定的行? $:最后一行

? ? ? /pattern/:該此處模式所能匹配到的每一個行

? ? 3.地址范圍

? ? ? #,#:從#行到第#行。舉例:3,6代表從第3行到第6行

? ? ? #,+#:從#行到第+#行。舉例:3,+4代表從第3行到第7行

? ? 4.步行:~

? ? ? 1~2? 奇數(shù)步

? ? ? 2~2? 偶數(shù)步

命令 注釋
p 打印當(dāng)前模式空間內(nèi)容,追加到默認輸出之后
Ip 忽略大小寫輸出
d 刪除模式空間匹配的行,并立即啟動下一輪循環(huán)
a [\text]在指定行后面追加文本,支持使用\n實現(xiàn)多行追加
i [\text]在行前面插入文本
c [\text]替換行為單行文本或多行文本
w file保存模式匹配的行至指定文件
r file讀取指定文件的文本至模式空間中匹配到的行號
= 為模式空間的行打印行號
! 模式空間中匹配行取反處理
q 結(jié)束或退出sed

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? 另外它還支持正則表達式

? ? 自動打印需要打印否則會全部打印,如圖所示?正則表達式(拓展)、grep(拓展)和sed,正則表達式

? ? 正確結(jié)果應(yīng)該如下圖所示

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? ? 匹配兩個正則表達式的行

? ? ? 基本格式:?'/表達式1/,/表達式2/p'? 文件名

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? ? 匹配方式

  1. ? ? ? 先開始找b開頭一直找到f開頭
  2. ? ? ? 然后再重新找b開頭,一找到f開頭,沒有f開頭就全顯示
  3. ? ? ? 重復(fù)循環(huán)

? ? 奇偶數(shù)表示

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? ? 選項-d:刪除

? ? 修改文件內(nèi)容,常常用于修改配置文件

? ? -i和-i.bak的區(qū)別

? ? ? -i:修改文件

? ? ? -i.bak:修改文件前先備份

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? ? 選項-a:追加?

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? 3.3 搜索替代

? ? s/pattern/string/修飾符 查找替換,支持使用其它分隔符,可以是其它形式:s@@@,s###
? ? 替換修飾符:
? ? ? g 行內(nèi)全局替換
? ? ? p 顯示替換成功的行
? ? ? w ??/PATH/FILE 將替換成功的行保存至文件中
? ? ? I,i ??忽略大小寫

? ? 內(nèi)容較長就不展示了

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? ? 正則表達式(拓展)、grep(拓展)和sed,正則表達式

? ? 提取版本號

[root@localhost /]#cat 1.txt | grep -e "[0-9]\+\."
ant-1.9.7.jar
ant-launcher-1.9.7.jar
antlr-2.7.7.jar
antlr-runtime-3.4.jar
aopalliance-1.0.jar
archaius-core-0.7.6.jar
asm-5.0.4.jar
aspectjweaver-1.9.5.jar
bcpkix-jdk15on-1.64.jar
bcprov-jdk15-1.46.jar
bcprov-jdk15on-1.64.jar
checker-compat-qual-2.5.5.jar

[root@localhost /]#cat 1.txt |sed -r 's/.*-(.*)\.jar/\1/'
1.9.7
1.9.7
2.7.7
3.4
1.0
0.7.6
5.0.4
1.9.5
1.64
1.46
1.64
2.5.5

? 3.4 變量

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? 3.5 改配置文件

正則表達式(拓展)、grep(拓展)和sed,正則表達式

? 3.6 修改網(wǎng)卡名

正則表達式(拓展)、grep(拓展)和sed,正則表達式

正則表達式(拓展)、grep(拓展)和sed,正則表達式文章來源地址http://www.zghlxwxcb.cn/news/detail-827233.html

到了這里,關(guān)于正則表達式(拓展)、grep(拓展)和sed的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux Grep 正則表達式

    grep是Linux中用于文本處理的最有用和功能最強大的命令之一。grep在一個或多個輸入文件中搜索與正則表達式匹配的行,并將每條匹配的行寫入到標準輸出 正則表達式是與一組字符串匹配的模式。模式由運算符,文字字符和元字符組成,它們具有特殊的含義。GNU grep支持三種正

    2024年02月04日
    瀏覽(21)
  • SED正則表達式中[方括號]的特殊處理

    今天被這個方括號懵暈了,特此記錄 例如: 去除輸入字符串“1[2.3]4[ab,c]”中的所有方括號和逗號: $ echo \\\"1[2.3]4[ab,c]\\\"|sed -e \\\"s/[,][]//g\\\" 1[2.3]4[ab,c] ? It doesn\\\'t work! 原因:Regular Expressions The right-square-bracket (?\\\']\\\'?) shall lose its special meaning and represent itself in a bracket expression if it oc

    2024年02月14日
    瀏覽(26)
  • linux 正則表達式1和grep

    linux 正則表達式1和grep

    目錄 一、正則表達式 二、元字符 三、次數(shù)符號 四、位置錨定 五、實驗 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 一、正則表達式 通配符功能是用來處理文件名,而正則表達式是處理文本內(nèi)容中字符。 分類: 1.?基本正則表達式 2.擴展正則表達式 二、元字符 元字符: .?? 匹配任意單

    2024年02月08日
    瀏覽(19)
  • sed中使用正則表達式進行替換以及注意事項

    sed中使用正則表達式進行替換的時候,一定要注意,有些特殊字符在使用時要轉(zhuǎn)義,目前發(fā)現(xiàn)的有: 用于分組的小括號:(),在使用時要用進行轉(zhuǎn)義,但是匹配字符串中真正的小括號時,無需轉(zhuǎn)義; 表示前面的表達式出現(xiàn)次數(shù)的{},也要轉(zhuǎn)義; 表示前面的表達式出現(xiàn)1次或多

    2023年04月22日
    瀏覽(25)
  • shell之正則表達式及三劍客grep命令

    shell之正則表達式及三劍客grep命令

    什么是正則表達式? 正則表達式是一種描述字符串匹配規(guī)則的重要工具 1、正則表達式定義: 正則表達式,又稱正規(guī)表達式、常規(guī)表達式 使用字符串描述、匹配一系列符合某個規(guī)則的字符串 普通字符: 大小寫字母、數(shù)字、標點符號及一些其它符號 元字符: 在正則表達式中具

    2024年02月12日
    瀏覽(90)
  • Linux:shell腳本:基礎(chǔ)使用(4)《正則表達式-grep工具》

    Linux:shell腳本:基礎(chǔ)使用(4)《正則表達式-grep工具》

    正則表達式定義: ? ? ? ? 使用單個字符串來描述,匹配一系列符合某個句法規(guī)則的字符串 正則表達式的組成: ? ? ? ? 普通字符串: 大小寫字母,數(shù)字,標點符號及一些其他符號 ? ? ? ? 元字符:在正則表達式中具有特殊意義的專用字符 正則表達式不能單獨使用,需要配

    2024年02月12日
    瀏覽(19)
  • Linux學(xué)習(xí)之正則表達式元字符和grep命令

    Linux學(xué)習(xí)之正則表達式元字符和grep命令

    cat /etc/redhat-release 看到操作系統(tǒng)的版本是 CentOS Linux release 7.6.1810 (Core) , uname -r 可以看到內(nèi)核版本是 3.10.0-957.21.3.el7.x86_64 。 正則表達式是一種搜索字符串的模式,通俗點理解,也就是普通字符和元字符共同組成的字符集合匹配模式。正則表達式的主要作用是文本搜索和字符

    2024年02月14日
    瀏覽(20)
  • Linux系統(tǒng)三劍客之grep和正則表達式的介紹(一)

    Linux系統(tǒng)三劍客之grep和正則表達式的介紹(一)

    1.正則表達式 目錄 1.正則表達式 1.什么是正則表達式 ? 2.正則表達式的使用場景 3.正則表達式字符表示 4.它們之間的區(qū)別 2.grep命令 作用: 語法: 說明: 選項:options 重點 實例 3.后面的下次再更新。? 1.什么是正則表達式 ? 一個正則表達式就是描述了一個字符串集合的方式

    2024年01月18日
    瀏覽(108)
  • linux | sort、uniq、history、xargs、grep 正則表達式(不深入)

    1.正則表達式 sort命令 #把內(nèi)容讀到內(nèi)存,然后以行為單位進行排序并把結(jié)果輸出到stdout(因為直接把排序結(jié)果輸出,所以可以重定向),但是并不修改源文件內(nèi)容。 參考如下 uniq命令 #流程和sort類似,也是把相鄰的相同行去掉,最后輸出。注意間隔的相同行無法去除。 如何把

    2024年02月16日
    瀏覽(22)
  • 小白到運維工程師自學(xué)之路 第四十九集 (正則表達式之grep)

    小白到運維工程師自學(xué)之路 第四十九集 (正則表達式之grep)

    1、正則表達式(Regular Expression,簡稱為RegExp或Regex)是一種用于描述、匹配和操作文本的字符串模式的表達式。它提供了一種強大而靈活的方式來進行字符串的搜索、替換、提取和驗證操作。 2、正則表達式可以用于各種編程語言和應(yīng)用程序中,包括文本編輯器、命令行工具

    2024年02月13日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包