sed的詳細用法demo

2021-07-24 06:18:09 字數 2659 閱讀 2441

先建立乙個檔案test

內容為:

lijie1

:one

lijie2

:two

lijie3

:three

hehe1

:one1

hehe2

:two2

hehe3

:three3

1.查詢

[root@lijie hadoop]# sed -n /lijie/p test

lijie1:one lijie2:two lijie3:three

2.對當前欄位的刪除

--匹配刪除

[root@lijie hadoop]# cat ./test | sed /lijie/d

hehe1:one1 hehe2:two2 hehe3:three3

--指定函式刪除

[root@lijie hadoop]# cat ./test | sed 2d

lijie1:one lijie2:two lijie3:three

--多行刪除(1-4行)

[root@lijie hadoop]# cat ./test | sed 1,4d

--刪除到最後

[root@lijie hadoop]# cat ./test | sed "3,$"d

3.替換

--給替換第乙個

[root@lijie hadoop]# cat test | sed s/hehe/heihei/

lijie1:one lijie2:two lijie3:three

heihei1:one1 hehe2:two2 hehe3:three3

--替換所有

[root@lijie hadoop]# cat test | sed s/hehe/heihei/g

lijie1:one lijie2:two lijie3:three

heihei1:one1 heihei2:two2 heihei3:three3

4.替換然後列印匹配行

[root@lijie hadoop]# cat test | sed -n /three3/s/hehe/heihei/gp

heihei1:one1 heihei2:two2 heihei3:three3

5.復合條件-e(把lijie換成hadoop,把匹配three3的hehe換為heihei)

[root@lijie hadoop]# cat test | sed -n -e s/lijie/hadoop/gp -e /three3/s/hehe/heihei/gp

hadoop1:one hadoop2:two hadoop3:three

heihei1:one1 heihei2:two2 heihei3:three3

6.對檔案進行修改

[root@lijie hadoop]# sed -i -n -e s/lijie/hadoop/gp -e /three3/s/hehe/heihei/gp test 

[root@lijie hadoop]# cat test

hadoop1:one hadoop2:two hadoop3:three

heihei1:one1 heihei2:two2 heihei3:three3

7.將某個檔案的檔案替換到匹配的那一行後面(r和r不同)

--r

[root@lijie hadoop]# sed /hadoop/'r test1' test

hadoop1:one hadoop2:two hadoop3:three

n1n2

heihei1:one1 heihei2:two2 heihei3:three3

--r[root@lijie hadoop]# sed /hadoop/'r test1' test

hadoop1:one hadoop2:two hadoop3:three

n1heihei1:one1 heihei2:two2 heihei3:three3

hadoop4:one hadoop5:two hadoop6:three

n2hadoop7:one hadoop8:two hadoop9:three

8.追加字元a為匹配行後,i為匹配行前

hadoop1:one hadoop2:two hadoop3:three

this

heihei1:one1 heihei2:two2 heihei3:three3

this

hadoop1:one hadoop2:two hadoop3:three

heihei1:one1 heihei2:two2 heihei3:three3

9.整行替換

[root@lijie hadoop]# sed /hadoop/'c new line' test

new line

heihei1:one1 heihei2:two2 heihei3:three3

sed的基本用法

sed的工作流程 sed stream editor,流編輯器,預設對原檔案不做任何處理,僅對模式空間的資料進行處理,處理結束後,將模式空間列印至螢幕。sed逐行將檔案讀取到模式空間 記憶體 進行模式匹配,如果符合模式進行編輯 取決給的編輯命令 之後進行下一行的操作sed命令格式 sed optio...

sed 的相關用法

寫本篇部落格時,正在讀一本叫做 sed awk 的第三版書籍,這本書真的很不錯,作為一本熱門技術書籍,足以見得作者是乙個很用心的人,當然我看的是中文翻譯版的,翻譯作者同樣用心 感謝作者提供這樣優秀的書籍供熱愛技術的人們學習,感謝。說起sed,不得不說一說ed,首先來說ed類的編輯器都是基於行進行操作...

sed命令的用法

sed命令的用法 sed 的基本命令 1 替換 s命令 1.1 基本用法 如 sed s day night new 該例子將檔案 old 中的每一行第一次出現的 day 替換成 night,將結果輸出到檔案 new s 替換 命令 分割符 delimiter day 搜尋字串 night 替換字串...