日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

学习笔记第二十五节课

發(fā)布時間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 学习笔记第二十五节课 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

正則介紹_grep

  • 正則就是一串有規(guī)律的字符串,包含特殊符號。
  • 對以后的寫shell腳本很大的幫助。可以實現(xiàn)很多復(fù)雜的需求。

第一個工具 grep

  • grep 用來過濾關(guān)鍵詞。
  • -c 行數(shù),過濾出來的這些行有多少行。
  • 做實驗,先把etc/passwd 作為一個樣本文件 cp 到 創(chuàng)建的grep目錄下。
  • 然后 用grep 過濾 nologin grep有一個好處,在過濾關(guān)鍵詞的時候,會自動對關(guān)鍵詞上顏色。
  • 然后用-c 選項 可以顯示剛才過濾的 有多少行。
  • -n選項可以顯示帶顏色的 行號。
  • -i選項不區(qū)分大小寫。 比如 文件中有一個nologin 是大寫的,那在-n顯示的時候 就不會過濾出來 但是加了i 就會顯示。
  • -v是取反的意思,就是一個文件中,不帶關(guān)鍵詞的都被過濾掉了 -v就是把被過濾掉的顯示出來。
  • -r就是遍歷所有子目錄。比如過濾 包含root 的etc下所有目錄,它就會顯示出來。 不加-r 他會提示這是一個目錄。
  • 只能針對文件去做 不加r 的過濾。
  • 在剛才的-r 過濾中也過濾出了 passwd 的含有root的 內(nèi)容,如果向上翻找很麻煩的話,可以重定向到一個文件里去,這樣就能很快查看到 你想要的結(jié)果了。
  • -A +數(shù)字 就是把你過濾出來的關(guān)鍵詞加上關(guān)鍵詞下面的數(shù)字行 比如 A2 就會列出 關(guān)鍵詞下面的兩行。
  • -B和A類似 是以上數(shù)字行
  • -C是A和B的結(jié)合 會列出關(guān)鍵詞行數(shù)的上下各數(shù)字行。

grep/egrep 示例

  • grep的用法有很多,比如過濾文件中的數(shù)字。 加上-v就是除了數(shù)字外都過濾出來,但是這個文件中沒有不包含數(shù)字的行。
  • grep 也可以過濾 文件中以某個字母或者符號開頭的 用^ ,^的意思是以什么開頭,。加上-v就是除了us開頭的都過濾出來。
  • 以后可能會看很多服務(wù)相關(guān)的配置文件,就可以用這個方法,把帶#的注釋的行過濾掉。
  • 還有一種用法,就是把除了數(shù)字或者字母 或者特殊符號 以外的都給過濾出來。這個和過濾數(shù)字正好相反。
  • 還有個操作就是 ^[^0-9] 這個字符串的意思就是以非數(shù)字的開頭的行 過濾出來、
  • ^ 這個字符 放在方括號外面 是以什么開頭 放在里面就是取非。
  • grep 'r.0' passwd 【.】點的意思就是任意一個字符,可以從操作中看出,r和o直接是任何字符都可以過濾出來。包括數(shù)字 特殊符號 還有. 本身、
  • grep 'mer' passwd 的意思是 在*前面的字符重復(fù)0-n次 這個n是表示多少次都可以。
  • 【.*】組合起來就是 過濾所有字符,因為.表示任意字符。
  • {}在grep中直接寫是沒有任何意義的 就是一個花括號。 但是在正則中用法可以表示前面字符重復(fù)的一個范圍,就是加上脫譯。
  • 如果覺得這樣寫很麻煩 加脫譯符號很別扭, 可以用egrep 這樣就不用脫譯符號就可以識別了。
  • 或者是不用egrep 用grep -E
  • 也可以寫多個字符 的重復(fù)范圍,要加() 表示一個整體,加這個也要egrep 或者 -E 來脫譯這個()。
    • 和 挺像的, 想用+ 要脫譯或者用egrep +號是前面的字符一次或者多次, 沒有0。 (也就是說比如mer er前面如果沒有m 就是代表er前面為0,也會把er顯示出來,但是+er的話 不顯示0 就是只會顯示 帶有m和er 的字母組合) *是0到多次。
  • ?表示在?前面的字符重復(fù)次數(shù)為0或者1 要么有 要么沒有。(比如m?er er前面如果m很多 只會顯示一個,)
  • | 在這里表示的意思是或者。

轉(zhuǎn)載于:https://blog.51cto.com/13645927/2107869

總結(jié)

以上是生活随笔為你收集整理的学习笔记第二十五节课的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。