sed命令作為一種流編輯器,以行為單位對一個或多個文件進行編輯,在sed處理文本時,會將文本放到一個模式空間當中,如果當前行能夠匹配sed命令所給出的PATTERN則用命令進行處理,如果不能匹配則默認情況下標準輸出;文件內(nèi)容默認情況下不會改變;
成都創(chuàng)新互聯(lián)提供成都網(wǎng)站建設、成都做網(wǎng)站、網(wǎng)頁設計,高端網(wǎng)站設計,廣告投放平臺等致力于企業(yè)網(wǎng)站建設與公司網(wǎng)站制作,10余年的網(wǎng)站開發(fā)和建站經(jīng)驗,助力企業(yè)信息化建設,成功案例突破近1000家,是您實現(xiàn)網(wǎng)站建設的好選擇.sed命令:
sed [OPTION]...‘script’ [input-file]...
常用選項:
-n:安靜模式,默認不匹配的行不輸出到屏幕上;
-e script:多條件輸出,一個e選項可以配合一個script;
-i:將修改的內(nèi)容直接寫進原文件;
-r:支持擴展的正則表達式;
script由兩部分組成:Address與Command兩者之間不能有空格存在;即AddressCommand;
Address:
1.當?shù)刂禐榭諘r則表示對當前所有文件進行操作;
2.單地址,指定行號num時,只對當前行進行操作,或者/PATTERN/指能夠匹配該模式的第一行,對該行進行操作;
3.地址范圍:
①addr1,addr2:從addr1開始到addr2結束的中間所有行,包括addr1和addr2;
②first~step:由標記first開始到step為止;
③add1,+N:由add1行開始,并計算向后N行;
④addr1,~N:從addr1開始,包括addr1所在行,向后計算addr1*N行;
例如:2,~5相當于2,2*5
⑤/PATTERN1/,/PATTERN2/
從被pattern1匹配的第一行開始計算,一直到被pattern2匹配的第一行結束;
Command:
=:先是被模式匹配行的行號;
a \test:在所匹配行的下一行添加test文本,支持使用\n選項;
i \test:在所匹配行的上一行添加test文本,支持使用\n選項;
c \test:將所匹配行用test進行替換,支持使用\n選項;
d:將在模式空間中匹配的行刪除,不在顯示輸出,d選項通常不搭配-n選項;
p:將在模式空間匹配的行輸出,p選項通常搭配-n選項;
w filepath:被能夠匹配的行另存到一個文件里去;
r filepath:將filepath中的內(nèi)容追加到模式空間中被模式匹配的行之后;
!COMMAND:在模式空間中匹配的行不輸出,不匹配的行輸出;
s///:查找替換,“/”可以隨意分配三個一模一樣的符號,視情況而定;
s/pattern/text/[control]
pattern:計劃查找并替換內(nèi)容;
text:要替換的結果
control:如何進行替換;
g:行內(nèi)全部替換;
p:顯示替換成功的行;
如
s@/etc/fstab@/etc/mtab@:將字符/etc/fstab替換為/etc/mtab;
sed命令示范:
加-n與不加-n:采用指定單地址的方式
-e:
-r:取出當前路徑的基名,用基民替換當前路徑
-i:將修改寫入文件;
采用多地址方式:add1,add2
add1,+N
/PATTERN/,/PATTERN/匹配:
p:將在模式空間匹配的行輸出;加-n與不加-n;
d:刪除模式空間匹配的行;d選項的使用不加-n;
w file:將模式匹配的內(nèi)容保存到另一個文件當中;
s///:查找替換,將文件中開頭為#且后面有空格的匹配字符刪去;
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。