欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux中g(shù)rep命令詳解

 更新時(shí)間:2023年02月13日 11:15:53   作者:向上的狼  
grep命令是Linux系統(tǒng)中最重要的命令之一,功能是從文本文件或管道數(shù)據(jù)流中篩選匹配的行和數(shù)據(jù),如果再配合正則表達(dá)式,功能十分強(qiáng)大,是Linux運(yùn)維人員必備的命令,這篇文章主要介紹了Linux中g(shù)rep詳解,需要的朋友可以參考下

一、grep基本介紹

全拼:Global search REgular expression and Print out the line.

作用:文本搜索工具,根據(jù)用戶指定的“模式(過(guò)濾條件)”對(duì)目標(biāo)文本逐行進(jìn)行匹配檢查,打印匹配到的行.

模式:由正則表達(dá)式的元字符及文本字符所編寫出的過(guò)濾條件﹔

grep命令是Linux系統(tǒng)中最重要的命令之一,功能是從文本文件或管道數(shù)據(jù)流中篩選匹配的行和數(shù)據(jù),如果再配合正則表達(dá)式,功能十分強(qiáng)大,是Linux運(yùn)維人員必備的命令

grep命令里的匹配模式就是你想要找的東西,可以是普通的文字符號(hào),也可以是正則表達(dá)式

二、正則表達(dá)式grep實(shí)踐

首先先看一下這個(gè)測(cè)試文件的內(nèi)容吧

2.1、輸出以 I 開頭的行(不區(qū)分大小寫)

注: 這里的-i代表不區(qū)分大小寫, -n代表顯示匹配行和行號(hào)

2.2、輸出以.結(jié)尾的行

注: 因?yàn)?在這里有著特殊含義, 所以要用\轉(zhuǎn)義一下, 如果不加轉(zhuǎn)義字符的話, grep就會(huì)把它當(dāng)做正則表達(dá)式來(lái)處理(.代表的含義是匹配任意一個(gè)字符)

2.3、$符號(hào) 注意在Linux平臺(tái)下, 所有文件的結(jié)尾都有一個(gè)$符可以利用cat -A 查看文件

2.4、^$(代表空行的意思)組合符

找出文件的空行, 以及行號(hào)

2.5、.點(diǎn)符號(hào)

"."點(diǎn)表示任意一個(gè)字符, 有且只有一個(gè), 不包含空行

2.6、*符號(hào)

"*"表示找出前一個(gè)字符0次或一次以上

找出文件中i出現(xiàn)0次或多次的行和行號(hào)

2.7、.*組合符

".*"表示所有內(nèi)容, 包括空行

2.8、^.*t符 (含義: 以任意內(nèi)容開頭, 直到t結(jié)束)

2.9、[abc]中括號(hào)

中括號(hào)表達(dá)式,[abc]表示匹配中括號(hào)中任意一個(gè)字符, a或b或c,常見的形式如下;

[a-z]匹配所有小寫單個(gè)字母[A-Z]匹配所有單個(gè)大寫字母[a-zA-Z]匹配所有的單個(gè)大小寫字母[0-9]匹配所有單個(gè)數(shù)字[a-zA-ZO-9]匹配所有數(shù)字和字母

匹配abc字符中的任意一個(gè),得到它的行數(shù)和行號(hào) 

2.10、grep的參數(shù)-o

使用"-o"選項(xiàng), 可以值顯示被匹配到的關(guān)鍵字, 而不是講整行的內(nèi)容都輸出.

顯示出文章中有多少行有a

"-c"只統(tǒng)計(jì)匹配的行數(shù)

2.11、[^abc]中括號(hào)中去反

[^abc]或[^a-c]這樣的命令, "^"符號(hào)在中括號(hào)中第一位表示排除, 就是排除字符a,b,c

注: 出現(xiàn)再中括號(hào)里的尖角號(hào)表示取反

三、擴(kuò)展正則表達(dá)式grep實(shí)踐

此處使用grep -E進(jìn)行實(shí)踐擴(kuò)展正則, egrep官網(wǎng)已經(jīng)棄用了

3.1、+號(hào)

+號(hào)表示匹配前一個(gè)字符1一次或多次,必須使用grep-E擴(kuò)展正則

3.2、?符

匹配前一個(gè)字符0次或1次

找出文件中包含gd或者god的行

3.3、|符

豎線|再正則中是或者的意思

找出opt目錄中txt結(jié)尾的文件, 其名字中包含a或者e, 不區(qū)分大小寫(-i)

3.4、()小括號(hào)

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

3.5、{n,m}匹配次數(shù)

{n,m}:匹配前一個(gè)字符至少n次, 最多m次

{n,}: 匹配前一個(gè)字符至少n次, 沒(méi)有上限

{,m}: 匹配前一個(gè)字符最多m次,可以沒(méi)有

重復(fù)前一個(gè)字符各種次數(shù), 可以通過(guò)-o參數(shù)顯示明確的匹配過(guò)程

到此這篇關(guān)于Linux中g(shù)rep詳解的文章就介紹到這了,更多相關(guān)Linux中g(shù)rep詳解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于Shell腳本效率優(yōu)化的一些個(gè)人想法

    關(guān)于Shell腳本效率優(yōu)化的一些個(gè)人想法

    很想像之前的一片Mysql全面優(yōu)化詳解那樣子寫一篇全面的優(yōu)化文章,但是苦于沒(méi)有相關(guān)書籍參考,也沒(méi)有發(fā)現(xiàn)網(wǎng)絡(luò)牛人有總結(jié)帖或文章之類的,所以就根據(jù)個(gè)人理解和經(jīng)驗(yàn)寫一些能優(yōu)化程序效率的東西吧。這篇是不敢稱全面的
    2012-09-09
  • Shell腳本實(shí)現(xiàn)從文件夾中遞歸復(fù)制文件

    Shell腳本實(shí)現(xiàn)從文件夾中遞歸復(fù)制文件

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)從文件夾中遞歸復(fù)制文件,本文腳本實(shí)現(xiàn)從十層左右的文件夾中復(fù)制所有文件到一目錄中,需要的朋友可以參考下
    2015-02-02
  • Shell?iptales防火墻設(shè)置的方法步驟

    Shell?iptales防火墻設(shè)置的方法步驟

    本文主要介紹了Shell?iptales防火墻設(shè)置的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享

    Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享

    這篇文章主要介紹了Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享,本文同時(shí)提供了多種語(yǔ)言的實(shí)現(xiàn)方法,如awk、python、bash、C語(yǔ)言等,需要的朋友可以參考下
    2014-12-12
  • Shell腳本IF條件判斷和判斷條件總結(jié)

    Shell腳本IF條件判斷和判斷條件總結(jié)

    這篇文章主要介紹了Shell腳本IF條件判斷和判斷條件總結(jié),本文先是給出了IF條件判斷的語(yǔ)法,然后給出了常用的判斷條件總結(jié),需要的朋友可以參考下
    2014-10-10
  • Linux中cut命令的基本使用詳解

    Linux中cut命令的基本使用詳解

    cut命令是一個(gè)Linux/Unix命令,用于從文件或標(biāo)準(zhǔn)輸入中提取字段并輸出到標(biāo)準(zhǔn)輸出,這篇文章主要介紹了Linux系統(tǒng)之cut命令的基本使用,需要的朋友可以參考下
    2023-05-05
  • linux下批量刪除utf8 bom的實(shí)現(xiàn)方法

    linux下批量刪除utf8 bom的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇linux下批量刪除utf8 bom的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • linux?iptables防火墻中的工作常用命令

    linux?iptables防火墻中的工作常用命令

    linux系統(tǒng)的防火墻,IP信息包過(guò)濾u系統(tǒng),它實(shí)際上由兩個(gè)組件netfilter和iptables組成,這篇文章主要介紹了linux?iptables防火墻-工作常用命令,需要的朋友可以參考下
    2022-10-10
  • 開發(fā)必備Linux常用的幾個(gè)命令分享

    開發(fā)必備Linux常用的幾個(gè)命令分享

    Linux作為一個(gè)高度成熟和強(qiáng)大的操作系統(tǒng),擁有非常豐富的命令行工具,對(duì)于Java開發(fā)者來(lái)說(shuō),掌握一些常用的Linux命令可以大大提高工作效率,尤其是在服務(wù)器端開發(fā)時(shí),本文小編給大家分享了一些常用命令,需要的朋友可以參考下
    2023-10-10
  • Linux中的特殊符號(hào)與正則表達(dá)式

    Linux中的特殊符號(hào)與正則表達(dá)式

    這篇文章主要介紹了Linux中的特殊符號(hào)與正則表達(dá)式,需要的朋友可以參考下
    2017-09-09

最新評(píng)論