linux grep命令和sed命令

2021-07-23 13:16:02 字數 2755 閱讀 5576

本著做事情夠用的原則,要不然無窮無盡,簡單使用下grep命令和sed命令。

1、grep

語法:grep pattern filename

pattern (搜尋的字串、數字等,也可以使用正表示式,萬用字元等等)

filename (檔案/目錄 或者 .)

引數 引數函式

-i

忽略大小寫

-w全詞匹配

-r/r

遞迴匹配資料夾中檔案

-n

顯示行號

-c顯示匹配行數

-v顯示不匹配的行

-l

顯示匹配的檔名

2、sed命令

(1)、命令介紹

sed是乙個很好的檔案處理工具,本身是乙個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取

特定工作,下面先了解一下sed的用法

sed命令列格式為:

sed [-nefri] 『command』 輸入文字        

(2)、引數

常用選項:

-n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 stdin的資料一般都會被列出到螢幕上。

但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來

-e∶直接在指令列模式上進行 sed 的動作編輯;

-f∶直接將 sed 的動作寫在乙個檔案內, -f filename 則可以執行 filename 內的sed 動作;

-r∶sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)

-i∶直接修改讀取的檔案內容,而不是由螢幕輸出。  

常用命令:

a   ∶新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~

c   ∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!

d   ∶刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;

i   ∶插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);

p  ∶列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起運作~

s  ∶內容替換。

(3)、例項 (檔名為test)

(1)刪除某行

sed '1d' test   #刪除第一行

sed '$d' test #刪除最後一行

sed '1,2d' test #刪除第一行到第二行

sed '2,$d' test #刪除第二行到最後一行

刪除匹配行

sed -i '/匹配字串/d'  filename  (注:若匹配字串是變數,則需要「」,而不是『』)

(2)顯示某行

sed -n '1p' test    #顯示第一行

sed -n '$p' test #顯示最後一行

sed -n '1,2p' test #顯示第一行到第二行

sed -n '2,$p' test #顯示第二行到最後一行

(3)使用模式進行查詢

sed -n '/ruby/p' test    #查詢包括關鍵字ruby所在所有行

sed -n '/\$/p' test #查詢包括關鍵字$所在所有行,使用反斜線\遮蔽特殊含義

(4)增加一行或多行字串

sed '1a drink tea' test   #第一行後增加字串"drink tea"

sed '1,3a drink tea' test #第一行到第三行後增加字串"drink tea"

sed '1a drink tea\nor coffee' test #第一行後增加多行,使用換行符\n

(5)代替一行或多行

sed '1c hi' test                #第一行代替為hi

sed '1,2c hi' test #第一行到第二行代替為hi

(6)替換一行中的某部分

格式:sed 's/要替換的字串/新的字串/g'   (要替換的字串可以用正規表示式)

sed -n '/ruby/p' test | sed 's/ruby/bird/g' #替換ruby為bird

sed -n '/ruby/p' test | sed 's/ruby//g' #刪除ruby

(7)替換匹配行中的某個字串

sed -i '/匹配字串/s/替換源字串/替換目標字串/g' filename

(8)插入

sed -i '$a bye' ab         #在檔案ab中最後一行直接輸入"bye"

差不多就是這些了,等用到再來查詢其他的。

Linux grep和符號命令

grep和符號命令 grep root etc passwd grep 可以過濾篩選出一些關鍵字的行 grep 條件 操作物件,檔案 1.管道符號 用符號 表示 cat etc passwd more cat etc passwd grep root cat etc passwd head 3 把前...

Linux grep和egrep命令 常用

grep和egrep grep語法格式 grep option pattern file1,file2 必須掌握的選項 v 顯示不匹配的pattern的行 i 搜尋時忽略大小寫 n 顯示行號 e 支援擴充套件的正規表示式 f 不支援正規表示式,按字串的字面意思進行匹配 r 遞迴搜尋 例如 ps ef...

linux grep命令詳解

linux grep命令 1.作用 linux系統中grep命令是一種強大的文字搜尋工具,它能使用正規表示式搜尋文字,並把匹 配的行列印出來。grep全稱是global regular expression print,表示全域性正規表示式版本,它的使用許可權是所有使用者。2.格式 grep opt...