sed命令

sed是一個流編輯器,針對行進行操作;主要用來將數據進行選取、替換、刪除、新增。與vim的不同在於可以直接修改輸出的結果,如:du輸出的內容可以直接進行修改。

格式:

sed  [選項]  '[動作]' 文件名

[選項]

  • -n  一般的命令會把所有的數據輸出到屏幕,如加了此選項後,會把經過sed命令處理的行結果輸出到屏幕:

  • 例如:sed '2p' 文件名   將輸出所有內容,而加了sed -n '2p' 文件名之後就只有輸出第二行。        

  • -e 允許多條命令同時編輯。

  • -i 直接修改原文件數據,而不是隻是顯示到屏幕上。

[動作]

動作: 

  a \:   追加,在當前行後添加一行或多行。添加多行時,除最後 一行

          外,每行末尾需要用“\”代表數據未完結。 

  c \:   行替換,用c後面的字符串替換原數據行,替換多行時,除最

          後一行外,每行末尾需用“\”代表數據未完結。 

  i \:   插入,在當期行前插入一行或多行。插入多行時,除最後 一行

          外,每行末尾需要用“\”代表數據未完結。 

  d:     刪除,刪除指定的行。 

  p:     打印,輸出指定的行。 

  s:     字串替換,用一個字符串替換另外一個字符串。格式爲“行範

          圍s/舊字串/新字串/g”(和vim中的替換格式類似)

==================================================================

[root@localhost ~]#sed '2,4d' 文件名  刪除 -------注意是單引號 

[root@localhost ~]#sed '2a hello' 文件名  在第二行後追加hello(注意:並未修改原文件)

[root@localhost ~]#sed '2i hello \

>world' 文件名  在第二行前插入hello(注意:並未修改原文件)

[root@localhost ~]# sed '2c No such person'student.txt  c的作用就是替換整行


字符串替換 

[root@localhost ~]# sed ‘s/舊字串/新字串/g’ 文件名  

[root@localhost ~]# sed '3s/74/99/g' student.txt  

#在第三行中,把74換成99 

[root@localhost ~]#sed -i '3s/74/99/g' student.txt  

#sed操作的數據直接寫入文件 

 

[root@localhost ~]#sed -e 's/Liming//g;(分號)s/Gao//g' student.txt  

#同時把“Liming”和“Gao”替換爲空 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章