正則表達式工具(上)

grep

1)查找特定字符正則表達式

-n 顯示行號express

-i 不區分大小寫ide

-v 反向查找工具

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

2)利用中括號「[]」來查找集合字符ui

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

3)查找行首「^」與行尾字符「$」spa

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

*4)查找任意一個字符「.」與重複字符「」**3d

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

5)查找連續字符範圍「{}」對象

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)
正則表達式工具(上)

egrep

常見元字符以下blog

  • 做用:重複一個或者一個以上的前一個字符

? 做用:零個或者一個的前一個字符ip

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

() 做用:查找「組」字符串

()+ 做用:辨別多個重複的組

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)
正則表達式工具(上)

正則表達式工具(上)
正則表達式工具(上)

sed

sed(Stream EDitor)是一個強大而簡單的文本解析轉換工具,能夠讀取文本,並根據指定的條件對文本內容進行編輯(刪除、替換、添加、移動等),最後輸出全部行或者僅輸出處理的某些行。sed 也能夠在無交互的狀況下實現至關複雜的文本處理操做,被普遍應用於 Shell 腳本中,用以完成各類自動化處理任務。

sed 的工做流程主要包括讀取、執行和顯示三個過程。

讀取:sed 從輸入流(文件、管道、標準輸入)中讀取一行內容並存儲到臨時的緩衝區中(又稱模式空間,pattern space)。
執行:默認狀況下,全部的 sed 命令都在模式空間中順序地執行,除非指定了行的地址,不然 sed 命令將會在全部的行上依次執行。
顯示:發送修改後的內容到輸出流。再發送數據後,模式空間將會被清空。
在全部的文件內容都被處理完成以前,上述過程將重複執行,直至全部內容被處理完。~~

sed 命令常見用法
一般狀況下調用 sed 命令有兩種格式,以下所示。其中,「參數」是指操做的目標文件,當存在多個操做對象時用,文件之間用逗號「,」分隔;而 scriptfile 表示腳本文件,須要用「-f」選項指定,當腳本文件出如今目標文件以前時,表示經過指定的腳本文件來處理輸入的目標文件。

常見的 sed 命令選項主要包含如下幾種。

-e 或--expression=:表示用指定命令或者腳原本處理輸入的文本文件。
-f 或--file=:表示用指定的腳本文件來處理輸入的文本文件。
-h 或--help:顯示幫助。
-n、--quiet 或 silent:表示僅顯示處理後的結果。
-i:直接編輯文本文件。

常見的操做包括如下幾種。

a:增長,在當前行下面增長一行指定內容。
c:替換,將選定行替換爲指定內容。
d:刪除,刪除選定的行。
i:插入,在選定行上面插入一行指定內容。
p:打印。
s:替換,替換指定字符。
y:字符轉換。

1)輸出符合條件的文本(p 表示正常輸出)

正則表達式工具(上)

正則表達式工具(上)
正則表達式工具(上)
正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)
正則表達式工具(上)

正則表達式工具(上)

2)刪除符合條件的文本(d)

正則表達式工具(上)
正則表達式工具(上)

正則表達式工具(上)

正則表達式工具(上)
3)替換符合條件的文本

sed 's/the/THE/' test.txt //將每行中的第一個the 替換爲 THE
sed 's/l/L/3' test.txt //將每行中的第 3 個l 替換爲L
sed 's/the/THE/g' test.txt //將文件中的全部the 替換爲THE
sed 's/o//g' test.txt //將文件中的全部o 刪除(替換爲空串)
sed 's/^/#/' test.txt //在每行行首插入#號
sed '/the/s/^/#/' test.txt //在包含the 的每行行首插入#號
sed 's/$/EOF/' test.txt //在每行行尾插入字符串EOF
sed '3,5s/the/THE/g' test.txt //將第 3~5 行中的全部the 替換爲 THE
sed '/the/s/o/O/g' test.txt //將包含the 的全部行中的o 都替換爲 O

正則表達式工具(上)

正則表達式工具(上)
正則表達式工具(上)

4)遷移符合條件的文本
其中,H,複製到剪貼板;g、G,將剪貼板中的數據覆蓋/追加至指定行;w,保存爲文件;r,讀取指定文件;a,追加指定內容。

sed '/the/{H;d};$G' test.txt //將包含the 的行遷移至文件末尾,{;}用於多個操做

sed '1,5{H;d};17G' test.txt //將第 1~5 行內容轉移至第 17 行後

sed '/the/w out.file' test.txt //將包含the 的行另存爲文件out.file

sed '/the/r /etc/hostname' test.txt //將文件/etc/hostname 的內容添加到//包含the 的每行之後

sed '3aNew' test.txt //在第 3 行後插入一個新行,內容爲 New

sed '/the/aNew' test.txt //在包含the 的每行後插入一個新行,內容爲 New

sed '3aNew1\nNew2' test.txt //在第 3 行後插入多行內容,中間的\n 表示換行

正則表達式工具(上)

正則表達式工具(上)
正則表達式工具(上)

正則表達式工具(上)

相關文章
相關標籤/搜索