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

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

這篇具有很好參考價值的文章主要介紹了Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

正則表達式定義:

? ? ? ? 使用單個字符串來描述,匹配一系列符合某個句法規(guī)則的字符串

正則表達式的組成:

? ? ? ? 普通字符串: 大小寫字母,數(shù)字,標點符號及一些其他符號

? ? ? ? 元字符:在正則表達式中具有特殊意義的專用字符

正則表達式不能單獨使用,需要配合一些命令 如 grep sed 等命令?


正則表達式

我們先創(chuàng)建一個文件用于測試

he was short and fat.
He was wearing a blue polo shirt with black pants.
The home of Football on BBC Sport online.
the tongue is boneless but it breaks bones.12!
google is the best tools for search keyword.
The year ahead will test our political establishment to the li
PI=3.141592653589793238462643383249901429
a wood cross!
Actions speak louder than words

#woood #
#woooooood #
AxyzxyzxyzxyzC
I bet this place is really spooky late at night!
Misfortunes never come alone/single.
I shouldn't have lett so tast.

以上字符是我準備的一個文件的內容,等會我們用grep命令使用正則表達式去檢索內容

?文件名稱無所謂,我的叫tarro.txt

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本


?grep

?我們使用grep查詢里面某一個指定的字符串? the

grep 'the' tarro.txt??

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

里面每行帶有the字符串的就出來了

如果想知道我們查找的字符串在第幾行?

grep -n 'the' tarro.txt??

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

前面的數(shù)字就是在文件里的行,也就是這段在文件中的幾行幾行

如果想知道在文件中第幾行,并且不區(qū)分大小寫,也就是我們指定的字符串無論大小寫都展示出來

grep -in 'the' tarro.txt?

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

這樣我們查找出來的就不區(qū)分大小寫了,即使我們查的是小寫the,加了-i 那么大寫小寫都會有

?如果正好相反我們不想查包含指定字符串的行

grep -nv 'the' tarro.txt?

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

-v就是反向查找,我們后面指定的字符串就反過來,就查找不帶他們的行,反向查找不包含the的行


?利用中括號[]來查找集合字符

[] ---里面無論有幾個字符,都僅代表一個字符,為‘或’關系
[^] ? --- 括號里面的‘^’是取反的意思

查找包含shirt 或short的行?

grep -n 'sh[io]rt' tarro.txt

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

可以看到他們中級的字符不一樣,我們使用了查找? 以sh? 開通? rt結尾,中間o或者i? 兩個就全出來了

查找重復單個字符‘oo’的行

grep -n 'oo' test.txt?

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

里面只要是兩個oo相連的字符串就被查詢出來了?

查找‘oo’前不是‘w’的行?

grep -n '[^w]oo' tarro.txt?

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

去掉了w開頭的,那為什么#woood # 和 #woooooood # 沒被去掉,因為他們相連的字符串是以#開頭的,你可以和上一個比對一下

查找‘oo’前不是小寫字母的行?

grep -n '[^a-z]oo' tarro.txt

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

現(xiàn)在前面小寫的a-z開通的都被去掉了,F(xiàn)是大寫的所以還在?

查找‘oo’前不是大寫字母的行

grep -n '[^A-Z]oo' tarro.txt?

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

剛剛那個F開頭的就沒了,就剩下一些小寫開頭的行了

查找包含數(shù)字的行

?grep -n '[0-9]' tarro.txt?

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

上圖只要是行內帶有數(shù)字的行就被查出來了?

?查找行首^與行尾字符$

小數(shù)點‘.’在正則表達式中為元字符,需要使用轉義字符‘\’將其轉化為普通字符

查找以小數(shù)點‘.’結尾的行。

grep -n '\.$' tarro.txt

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

查找空行?

grep -n '^$' test.txt?

查找以‘w’開頭,‘d’結尾共4個字符的行?

grep -n 'w..d' tarro.txt

Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》,正則表達式,運維,服務器,shell腳本

查詢至少包含兩個o以上的字符串

grep -n 'ooo*' tarro.txt??

查找以‘w’開頭,中間至少包含一個‘o'的,‘d’結尾的行

grep -n 'woo*d' tarro.txt??

查找以‘w’開頭,‘d’結尾 中間字符可有可無 的行?

grep -n 'w.*d' test.txt?

查詢任意數(shù)字的行?

grep -n '[0-9][0-9]*' test.txt?


??查找連續(xù)字符范圍{}

使用'.' 和'*'可以設置零個或無限多個重復的字符
如果要限制一個范圍則使用‘{}’

查看2個o的字符?

grep -n 'o\{2\}' test.txt?

查看w開頭,d結尾,中間為2-5個o的字符串
grep -n 'wo\{2,5\}d' test.txt?

查看w開頭,d結尾,中間為2以上o的字符串
grep -n 'wo\{2,\}d' test.txt??


基礎正則表達式的常見元字符

\b ? 單詞的開頭或結尾,只匹配一個位置,不匹配分隔標點符號和空格 ? ?\bHello\b
\d ? 一個數(shù)字,等價于 [0-9] ? ?0\d\d-\d{8} 固定電話
* ? ? ?數(shù)量,它前面的內容以連續(xù)使用的任意次數(shù)以達到整個表達式匹配,可以是0次匹配 ?.*?
+ ? ? 和* 類似,但至少匹配1次, 匹配一個或多個 ? ? \d+
? ? ?和上面兩個類似,重復0次或一次
. ? ? ?匹配除了換行符以外任意字符 ?
\s ? ?匹配任意的空白符、制表符、換行符、中文全角空格等
\w 匹配字母、數(shù)字、漢字或者下劃線
^ ? 用來查找的字符串的開頭 ? ^\d{5,12}$ ? ?5~12位的QQ
$ ? 用來查找的字符串的結尾
{n} ? ? ? 前面必須連續(xù)重復匹配n次,\d{8} ? \bw{6}\b 剛好6個字符的單詞
{n,m} ? 前面必須連續(xù)重復匹配n~m次,
{n,} ? ? ? 前面必須連續(xù)重復匹配n~更多次,
\ ? 如果需要查找元字符,需要轉義?
[] ? 里面的字符可以不用轉義,用來定義匹配集合 ? [?.*()]

3.擴展正則表達式----egrep、awk命令支持
3.1 擴展正則表達式的常見元字符
+?? ??? ?重復一個或者一個以上的前一個字符

??? ??? ?零個或者一個的前一個字符

|?? ??? ?使用或者(or)的方式找出多個字符

()?? ??? ?查找“組”字符串

()+?? ??? ?辨別多個重復的組文章來源地址http://www.zghlxwxcb.cn/news/detail-657456.html

到了這里,關于Linux:shell腳本:基礎使用(4)《正則表達式-grep工具》的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

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

領支付寶紅包贊助服務器費用

相關文章

  • Linux Shell 腳本編程學習之【第3章 正則表達式 (第一部分)】

    1、正則表達式是由一串字符和元字符構成的字符串,簡稱 RE(Regular Expression)。 2、正則表達式起到數(shù)據(jù)過濾作用。 3、POSIX 標準將正則表達式分為兩類:基本的正則表達式和擴展的正則表達式,大部分 Linux 應用和工具僅支持基本的正則表達式。 Linux Shell 以一串字符作為表達式

    2024年02月16日
    瀏覽(24)
  • Linux Shell 腳本編程學習之【第3章 正則表達式 (第二部分) grep命令】

    1、文本搜索工具 2、GREP 是Global search Regular Expression and Print out the line的簡稱,即全面搜索正則表達式并把行打印出來。 3、grep命令的模式十分靈活,可以是字符串,也可以是變量,還可以是正則表達式。模式中包含空格,則必須用雙引號括起來。 選 項 意 義 -c 只輸出匹配行

    2024年02月16日
    瀏覽(19)
  • shell腳本正則表達式

    shell腳本正則表達式

    聲明: 以下內容為個人筆記,內容不完全正確,請謹慎參考。 含義: 正則表達式使用的每個單獨字符串來描述、匹配一些列符合語法規(guī)則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。在Linux中,grep,sed,awk等文本處理工具都支

    2024年04月22日
    瀏覽(29)
  • Shell腳本攻略:通配符、正則表達式

    Shell腳本攻略:通配符、正則表達式

    目錄 一、理論 1.通配符 2.正則表達式 二、實驗 1.通配符 2.正則表達式 (1)概念 通配符只用于匹配文件名、目錄名等,不能用于匹配文件內容,而且是已存在的文件或者目錄。 各個版本的shell都有通配符,這些通配符是一些特殊的字符, 用戶可以在命令行的參數(shù)中使用這些

    2024年02月07日
    瀏覽(26)
  • Shell編程基礎(十三)正則表達式

    格式:^ 表達式 $ 在不同的場景下,定義是一樣,但使用要按照具體的命令去調用,中間的表達式都是通用的 普通元字符 所謂元數(shù)據(jù),就是描述數(shù)據(jù)的數(shù)據(jù),在這里就是描述正則的數(shù)據(jù) ^ 表示正則從字符串 整行 起始位置匹配 ^abc 匹配 以abc開始的字符串 $ 表示正則一直匹配到

    2024年02月14日
    瀏覽(23)
  • Linux Shell :正則表達式

    Linux Shell :正則表達式

    先來看一句 Shell 代碼: dpkg --list : dpkg 是 Debian 系列 Linux 發(fā)行版(如 Ubuntu)的包管理工具。 --list 選項用于列出所有已安裝的軟件包。 | :這是一個管道符號,用于將前一個命令的輸出作為后一個命令的輸入。在這里, dpkg --list 的輸出被直接傳遞給 grep 命令。 grep -E -o \\\'cu

    2024年02月08日
    瀏覽(49)
  • shell 正則表達式詳解

    shell 正則表達式詳解

    目錄 正則表達式 一,什么是正則表達式 二,為什么使用正則表達式 三,如何使用正則表達式 示例: 四,基本正則表達式 基本正則表達式示例: 正則表達式字符集示例: 五,擴展正則表達式 擴展正則表達式示例: 擴展: ? ? ? ?正則表達式是通過一些特殊字符的排列,

    2024年01月17日
    瀏覽(21)
  • 【shell編程入門】正則表達式

    特殊字符 描述 [] 方括號表達式,表示匹配的字符集合,例如? [0-9] 、 [abcde] () 標記子表達式起止位置 * 匹配前面的子表達式零或多次 + 匹配前面的子表達式一或多次 ? 匹配前面的子表達式零或一次 轉義字符,除了常用轉義外,還有: b ?匹配單詞邊界; B ?匹配非單詞邊

    2024年01月23日
    瀏覽(21)
  • Shell編程之正則表達式

    Linux中的正則表達式(regular expression)和通配符(wildcard)都是用于匹配字符串的工具,但它們之間存在一些區(qū)別和應用場景的不同。 正則表達式是描述一種字符串匹配的模式,通過特殊的字符和語法,可以檢查一個字符串是否匹配某種模式,匹配成功后可以進行子串替換、取出符

    2024年02月01日
    瀏覽(22)
  • MFC使用正則表達式基礎步驟

    ①頭文件包含 #include ②明確聲明正則表達式 更多正則表達式可查閱:https://blog.csdn.net/Next_Second/article/details/126696589 ③CString 轉string ④進行匹配 完整函數(shù)

    2024年02月16日
    瀏覽(19)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包