Linux sed命令(基礎和高階用法)

2021-08-07 15:48:55 字數 1225 閱讀 7831

1、sed是流編譯器,是文字處理非常常用的工具,也是使用正規表示式進行匹配,預設為基準模式。

基本格式為:

(1)sed option 'script' file 

其中script為:/pattern/action        //pattern為正規表示式,action為編輯操作。

如果沒有pattern,則對所有行進行action操作。

(2)sed option -f scriptfile file

從scriptfile檔案讀取命令,對file檔案進行操作。

2、sed的流程圖:

(1)p:列印匹配到的行。

(2)d:刪除匹配到的行。

(3)/pattern/s/pattern1/pattern2/

:找到匹配到的行,將該行的第乙個匹配的字串1替換成2。

(4)/pattern/s/pattern1/pattern2/g:將該行所有匹配的都進行替換。

4、option選型:

(1)-n:只顯示匹配到的。

(2)-i:做的操作會修改原檔案。

(3)-e:執行多次命令,即多次編譯。

5、定址:

(1)『3p』:列印第3行。

(2)『3,5p』:列印3到行

(3)『/^e/,/^m/p』:列印以e開頭的那一行到以m開頭的那一行。

6、sed的高階用法:

sed有模式空間和保持空間,保持空間在預設情況下是不會被使用到的,只有在某些命令下才會被使用。

(1)模式空間:進行文字處理。

(2)保持空間:把資料臨時存放在這裡。

(3)action:

g:將保持空間的內容拷貝到模式空間中,原模式空間將被清零。

g:將保持空間的內容追加到模式空間\n之後。

h:將模式空間的內容拷貝到保持空間中,原保持空間將被清零。

h:將模式空間的內容追加到保持空間\n之後。

d:刪除模式空間中的所有行,並讀入下一行。

d:刪除模式空間的第一行,不讀入下一行。

x:交換內容

n:讀取下一行到模式空間。

n:將下一行追加到模式空間後。

linux sed命令詳解

1.sed簡介 3.sed命令 呼叫sed命令有兩種形式 sed options command file s sed options f scriptfile file s a 在當前行後面加入一行文字。b lable 分支到指令碼中帶有標記的地方,如果分支不存在則分支到指令碼的末尾。c 用新的文...

linux sed命令詳解

3.sed命令 呼叫sed命令有兩種形式 sed options command file s sed options f scriptfile file s a 在當前行後面加入一行文字。b lable 分支到指令碼中帶有標記的地方,如果分支不存在則分支到指令碼的末尾。c 用新的文字改變本行的文字...

linux sed命令詳解

1.sed簡介 1.sed簡介 2.定址 可以通過定址來定位你所希望編輯的行,該位址用數字構成,用逗號分隔的兩個行數表示以這兩行為起止的行的範圍 包括行數表示的那兩行 如1,3表示 1,2,3行,美元符號 表示最後一行。範圍可以通過資料,正規表示式或者二者結合的方式確定 3.sed命令 呼叫sed命...