linux - grep常用正則表達式,過濾文本內容

2021-01-11 linux運維菜

正則表達式

正則表達式就是一套處理大量的字符串而定義的規則和方法。

通過正則表達式這些特殊字符號,可以快速的過濾、替換需要的內容。

基礎正則表達式(Basic regular expression)

1) ^ :例如 ^word 以word開頭的內容

2)$ :例如 word$ 以word結尾的內容

3)^$ :空行

4). :表示且只能代表任意一個字符(當前目錄,加載文件)

5)\ :轉移字符,讓有著特殊身份的字符,變回原來的字符。

6)* :重複0個或多個前面的一個字符,不代表所有。

7).* :匹配所有的字符。^.* 任意多個字符開頭。

8)[abc] :匹配字符集合內任意一個字符[a-z]

9)[^abc] :^在中括號表示非,表示不包含a或者b或者c

10){n,m} :前一個字符,重複n到m次

{n,} :至少N次,多了不限。

{n} :N次

{,m} :最多m次,少了不限。

注意:grep 要對{轉義} \{\} ,egrep (grep -E )不需要轉義

grep 命令:

-v 排除匹配的內容

-E 支持擴展的正則表達式

-i 忽視大小寫

-o 只顯示匹配的內容

--color=auto 顯示匹配顏色

-n 顯示行號

測試

測試內容:

word1

word2word3word4word5

word1word1word1word1

ppppppp

ptp

獲取空行(加上-n查看空行是哪幾行):

grep -E -n '^$' /tmp/1.txt

結果:

5:

獲取以w開通的行:

grep --color=auto -E '^w' /tmp/1.txt

結果:

word1

word2word3word4word5

word1word1word1word1

獲取以1為結尾的行:

grep --color=auto -E "1$" /tmp/1.txt

結果:

word1

word1word1word1word1

相關焦點

  • 新手上路:圖文解讀助你理解和使用正則表達式
    Regex 新手上路本質上來看,正則表達式是定義一種搜索模式的字符序列。正則表達式通常用於 grep 等工具中,以在較長文本字符串中查找模式。,本文存在一個技術上的錯誤,即正則表達式和使用正則表達式的工具(如 grep)混為了一談。
  • 精通正則表達式的 12 個有用資源
    例如輸入的校驗、過濾 URL 變量之類。而正則表達式用來處理這樣的任務可以說是輕而易舉,而且代碼量很少。另外一方面,正則表達式被認為是非常難學的(@紅薯 深以為然),但其實不盡然。這裡有 12 個很棒的資源可以讓你學習並精通正則表達式。
  • grep 中文man頁面
    默認情況下,在 MS-DOS 和 MS-Windows 系統中, grep 通過從文件中讀取頭部的 32kB 內容來判斷它的文件類型。如果 grep 判斷文件是一個文本文件,它將原始文件內容中的 CR 字符去除 (使得含有 ^ 和 $ 的正則表達式可以正常工作)。指定 -U 將不進行這些工作,而使所有文件保持不變地讀取並傳遞給匹配機制。
  • 【第160期】指尖上的正則表達式–入門篇
    (摘自《百度百科--正則表達式》)2) 正則表達式的定義正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個「規則字符串」,這個「規則字符串」用來表達對字符串的一種過濾邏輯。給定一個正則表達式和另一個字符串,我們可以達到如下的目的:1.
  • 正則表達式的基礎知識和Python中的基本應用
    第八十一節:正則表達式正則表達式又叫「規則表達式」(Regular Expression),簡稱RE,是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個「規則字符串」,這個「規則字符串」用來表達對字符串的一種過濾邏輯。
  • 正則表達式在VBA中間是如何應用?正則表達式的實現方式?
    在繼續學習正則元字符特性或編制自己的正則表達式時,常常需要對其測試.也可以自己編制VBA代碼進行測試,這樣做的好處是可以提高在今後實際工作應用正則表達式的能力。所以,先介紹正則與VBA的交互的相關知識,讓你在VBA中間使用正則表達式遊刃有餘。當然你也可以快速閱讀或直接越過本章內容,在你以後的實際具體工作應用時,直接查閱即可。
  • Python 正則表達式-函數用法分析
    Python正則表達式的主要作用是檢索、替換符合匹配規則的文本,什麼時候檢索,什麼時候替換,我們根據需求,選擇最合適的函數。【函數一】compile(pattern, flags=0)我們編寫的正則表達式 pattern,指定使用的模式 flags 默認為0 即不使用任何模式【函數二】 purge()這個函數的作用是清除緩存中的正則表達式【函數三】escape(pattern)如果需要操作的文本中含有正則的元字符時,需要將元字符加上反斜扛
  • 精通正則表達式的 12 個有用資源 - OSCHINA - 中文開源技術交流社區
    例如輸入的校驗、過濾 URL 變量之類。而正則表達式用來處理這樣的任務可以說是輕而易舉,而且代碼量很少。另外一方面,正則表達式被認為是非常難學的(@紅薯 深以為然),但其實不盡然。這裡有 12 個很棒的資源可以讓你學習並精通正則表達式。
  • Python程式語言:如何運用正則表達式
    這篇文章,小編要和大家分享的知識是Python語言的正則表達式,以及自己學到的使用方法!學會正則表達式可以幫助我們抓取網絡信息,正則表達式又叫Re庫!這裡我們要了解什麼是正則表達式,正則表達式是用來簡潔表達一組字符串的表達式!
  • python正則表達式使用方法說明
    曾光紅/文 (同步發布豆瓜網)一、導入re庫python使用正則表達式要導入re庫。import re在re庫中。正則表達式通常被用來檢索查找、替換那些符合某個模式(規則)的文本。2.星號「*」一個星號可以表示它前面的一個子表達式(普通字符、另一個或幾個正則表達式符號)0次到無限次。3.問號「?」問號表示它前面的子表達式0次或者1次。注意,這裡的問號是英文問號。
  • 代碼詳解:Python正則表達式的終極使用指南
    全文共8032字,預計學習時長16分鐘處理文本數據的一個主要任務就是創建許多以文本為基礎的特性。人們可能想要在文本中找出特定格式的內容,比如找出存在於文本中的電子郵件,或者大型文本中的電話號碼。雖然想要實現上述功能聽起來很繁瑣,但是如果使用Python正則表達式模塊,就可以使這一操作更加簡單。
  • Python「正則表達式」詳解(上)
    大家好,今天我們一起學習以下Python中的「正則表達式」,說到正則表達式,大家可能比較陌生,不過我卻要告訴你,你每天都在使用正則表達式,不要不承認,就問你最常見的,瀏覽器每天用不?淘寶經常逛不?你在搜索框裡輸入幾個文字,按下回車,就出來大量結果,你想想這是怎麼辦到的,是正則表達式,可以好不誇張的講,沒有正則表達式,就沒有搜尋引擎。
  • 給JAVA程式設計師的正則表達式一課
    正則基礎正則表達式(Regex,簡稱RE)是一種根據字符串集中的每個字符串的共同特徵來描述字符串集的方法。可用於搜索,編輯或處理文本和數據。簡單來說,正則表達式是幫助我們根據特定格式驗證或匹配字符串的方式。可以類比資料庫的SQL語言,sql是搜索數據,RE是搜索字符串。正則表達式和SQL語言是開發界的兩個偉大發明。
  • 正則表達式:如何匹配一個或多個字符?
    讀懂正則表達式就這麼簡單匹配純文本Ben是一個正則表達式。因為本身是純文本,所以看起來可能不像是一個正則表達式,但它的確是。正則表達式可以包含純文本(甚至可以只包含純文本)。當然,像這樣使用正則表達式是一種浪費,但把它作為我們學習正則表達式的起點還是很不錯的。
  • 正則表達式與神經網絡的深度融合
    在這篇論文中,我們提出了直接由正則表達式轉化而來的神經網絡:FA-RNN (Finite Automata - Recurrent Neural Networks),將其使用在文本分類任務上,使得基於 FA-RNN 的系統在未經訓練的情況下與正則表達式文本分類系統有著相似的準確率。同時,FA-RNN 兼備神經網絡可訓練、可泛化的優點。
  • 正則表達式A - 方法及特殊字符用法
    .正則表達式的用法 正則表達式概念: 正則表達式是由普通字符及特殊字符組成的對字符串進行過濾的邏輯公式 正則表達式的創建方式: 1.字面量方式創建 (隱式創建): var reg = /正則表達式/gi;
  • Python中使用re模塊實現正則表達式的匹配字符串操作
    第八十二節:匹配字符串經過上一節比較枯燥的基礎內容,今天來看看如何利用正則表達式在Python中進行具體操作。在Python中使用正則表達式,首先要導入一個re模塊。re就是Regular Expression(正則表達式)的縮寫,所以導入re模塊就是導入「正則表達式模塊」。
  • Python正則表達式由淺入深(一)
    CDA數據分析師 出品數據分析工作中很多任務是跟文本處理相關,比如從文本中提取客戶的信息,從文本中提取時間等等都是比較常見的操作。 雖然Python處理字符串的方法很多,而且流行的pandas庫也提供了大量的向量化字符串方法,但是一旦涉及要經過較為複雜的數據匹配才能進行的字符操作,這些方法就顯得非常的乏力。
  • Python正則表達式:特殊符號和字符
    正表達式為高級的文本模式匹配,抽取,與/或文本形式的搜索和替換功能提供了基礎。簡而言之,正則表達式(簡稱regex)是由一些字符和特殊符號組成的字符串,它描述了模式的重複或者表達多個字符。python通過標準庫中的re模塊來支持正則表達式。