shell腳本中sed的使用詳解

sed是一個很好的文件處理工具,本身是一個管道命令,主要是以行為單位進(jìn)行處理,可以將數(shù)據(jù)行進(jìn)行替換、刪除、新增、選取等特定工作

ed編輯器自身不會修改文本文件的數(shù)據(jù),它只會將修改后的數(shù)據(jù)發(fā)送到STOUT

s命令會用斜線間指定的第二個文本字符串來替換第一個文本字符串

echo "This is a test" | sed 's/test/big test/'  #This is a big test

在sed命令上執(zhí)行多個命令時,只要用-e就可以了

sed -e 's/brown/green/; s/dog/cat/' date1  #將date1中brown替換成green,dog換成cat輸出到STOUT

sed可以指定作用的行

sed '2s/dog/cat' data  #作用到第2行
sed '2,3s/dog/cat' data #作用到第2,3行
sed '2,$s/dog/cat' data #作用到第2行到結(jié)尾行
sed '/Samantha/s/bash/csh' data #作用到匹配Samantha的行上
sed '/rich/s/bash/csh' /etc/passwd #找到含有rich的行,然后用csh替換文本bash

i命令會在指定行前增加一個新行
a命令會在指定的行后增加一個新行
c命令會修改指定的行
y命令用于單個字符的替換 sed y/123/789/ data #data中的1替換成7,2替換成8,3替換成9
r命令允許將一個獨(dú)立文件中的數(shù)據(jù)插入到數(shù)據(jù)流中

$ cat data
This is an added line.
This is the second added line
$ sed '3r data' test
This is line number 1
This is line number 2
This is line number 3
This is an added line.
This is the second added line
This is line number 4
This is line number 5
This is line number 6
This is line number 7
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,245評論 2 33
  • 本文承接之前寫的三十分鐘學(xué)會AWK一文,在學(xué)習(xí)完AWK之后,趁熱打鐵又學(xué)習(xí)了一下SED,不得不說這兩個工具真的堪稱...
    mylxsw閱讀 4,518評論 3 74
  • 簡介 sed 是一種在線編輯器,它一次處理一行內(nèi)容。處理時,把當(dāng)前處理的行存儲在臨時緩沖區(qū)中,稱為“模式空間”(p...
    699b979fc4da閱讀 1,137評論 0 1
  • Sed工具工作原理及特性 1. sed是流編輯器,每一次讀取一行到內(nèi)存中,即稱之為模式空間(pattern spa...
    魏鎮(zhèn)坪閱讀 11,126評論 0 12
  • .bat腳本基本命令語法 目錄 批處理的常見命令(未列舉的命令還比較多,請查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,537評論 1 19

友情鏈接更多精彩內(nèi)容