SED簡單使用

2022-09-05 03:30:11 字數 1623 閱讀 6014

sed 全名叫 stream editor,流編輯器,用程式的方式來編輯文字。

#使用yours替換my,g表示替換改行所有匹配項

sed "s/my/yours/g" demo.txt

#指定行替換

sed "3s/my/yours/g" demo.txt

#指定多行替換

sed "3,6s/my/yours/g" demo.txt

#只替換每行第二個

sed "s/my/yours/2" demo.txt

#替換每行第2個以後的匹配項

sed "s/my/yours/2g" demo.txt

#多個匹配替換

sed "1,3s/my/yours/g; 2,$s/my/yours/g" demo.txt

#圓括號匹配後作為變數使用,\1 \2分別表示語句前面匹配的資料

sed 's/my \([^,&]*\),.*is \(.*\)/\1:\2/g' my.txt

#a引數表示增加 i引數表示插入,他們都是用於新增行的

#插入一行資料

sed "1 i this is my" demo.txt

#增加一行資料在最後

sed "$ a this my word" demo.txt

#匹配到的每行都增加

sed "/my/a ---" demo.txt

#將指定的行做替換

sed "2 c my word" demo.txt

#匹配的行做替換

sed "/my/c my word" demo.txt

#刪除匹配的行

sed "/fish/d" demo.txt

#刪除指定行

sed "2d" demo.txt

sed "2,$d" demo.txt

#匹配的行輸出,被匹配到的行會輸出兩次

sed "/fish/p" demo.txt

#值輸出匹配到的行

sed -n "/fish/p" demo.txt

#匹配行之間的輸出

sed -n "/dog/,/fish/p" demo.txt

#指定行到匹配行輸出

sed -n "1,/fish/p" demo.txt

#-e 引數

如果需要用 sed 對文字內容進行多種操作,則需要執行多條子命令來進行操作。

sed -e 's/hello/a/' -e 's/world/b/'

#-i 引數

sed 缺省會把輸入行讀取到模式空間,簡單理解就是乙個記憶體緩衝區,sed子命令處理的內容是模式空間中的內容,而非直接處理檔案內容。因此在 sed 修改模式空間內容之後,並非直接寫入修改輸入檔案,而是列印輸出到標準輸出。如果需要修改輸入檔案,那麼就可以指定 - i 選項。

#-f 引數

還記得 -e 選項可以來執行多個子命令操作,用分號分隔多個命令操作也是可以的,如果命令操作比較多的時候就會比較麻煩,這時候把多個子命令操作寫入指令碼檔案,然後使用 -f 選項來指定該指令碼。

sed 入門詳解教程

sed 簡明教程

sed簡單使用介紹

sed起源於行編輯器ed,sed用於專門執行指令碼的,sed不可以互動使用,sed是面向字元流的 區別於螢幕編輯器,vi,vim nano等 螢幕編輯器直接將檔案讀入記憶體,或檔案的一部分讀入記憶體,但是當檔案體積過大時,可能造成記憶體不足等情況 面向字元流的編輯器,每次預設讀取一行,輸入流通過程式...

sed命令使用簡單記錄

sed s pattern replace string file sed.txt中對每行的第乙個lifeng用lf替換 sed s lifeng lf sed.txt 原始檔內容不會變的 要替換所有內容,命令尾部加引數g sed s lifeng lf g sed.txt 要從每行的第二處內容進行...

sed 用法簡單總結

sed是乙個行編輯方式,才發現用熟練以後節約了很多時間 注意匹配是 的轉意作用 i 寫回原始檔 sed n 2p tmp 不要單引號其實也可以 sed n 1,3p tmp sed n try p tmp sed n 1,p tmp sed ing p tmp sed p tmp sed n s a...