LINUX sed命令的使用

LINUX sed命令的使用

  • 命令格式
sed [options] 'command' file(s) 
sed [options] -f scriptfile file(s)
  • sed常用命令
a\ 在當(dāng)前?下?插??本迟杂。 
i\ 在當(dāng)前?上?插??本。 
c\ 把選定的?改為新的?本。 
d 刪除抹锄,刪除選擇的?。 
D 刪除模板塊的第??。 
s 替換指定字符  
l 列表不能打印字符的清單斟湃。 
n 讀取下?個(gè)輸??,?下?個(gè)命令處理新的??不是?第?個(gè)命令檐薯。 
N 追加下?個(gè)輸??到模板塊后?并在?者間嵌??個(gè)新?凝赛,改變當(dāng)前?號(hào)碼。 
p 打印模板塊的?坛缕。 
P(?寫) 打印模板塊的第??墓猎。 
q 退出Sed。  
w file 寫并追加模板塊到file末尾祷膳。   
W file 寫并追加模板塊的第??到file末尾陶衅。   
  • sed替換標(biāo)記
g 表??內(nèi)全?替換屡立。   
p 表?打印?直晨。   
w 表?把?寫??個(gè)?件搀军。   
x 表?互換模板塊中的?本和緩沖區(qū)中的?本。   
y 表?把?個(gè)字符翻譯為另外的字符(但是不?于正則表達(dá)式) 
\1 ?串匹配標(biāo)記 
& 已匹配字符串標(biāo)記
  • sed元字符集
^ 匹配?開始勇皇,如:/^sed/匹配所有以sed開頭的?罩句。 
$ 匹配?結(jié)束,如:/sed$/匹配所有以sed結(jié)尾的?敛摘。 
. 匹配?個(gè)?換?符的任意字符门烂,如:/s.d/匹配s后接?個(gè)任意字符,最后是d兄淫。 
* 匹配0個(gè)或多個(gè)字符屯远,如:/*sed/匹配所有模板是0個(gè)或多個(gè)空格后緊跟sed的?。 
[] 匹配?個(gè)指定范圍內(nèi)的字符捕虽,如/[sS]ed/匹配sed和Sed慨丐。   

[^] 匹配?個(gè)不在指定范圍內(nèi)的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的?個(gè)字?開頭泄私,緊跟ed的?房揭。 

\(..\) 匹配?串,保存匹配的字符晌端,如s/\(love\)able/\1rs捅暴,loveable被替換成lovers。

& 保存搜索字符?來替換其他字符咧纠,如s/love/**&**/蓬痒,love這成**love**。 
\< 匹配單詞的開始惧盹,如:/\<love/匹配包含以love開頭的單詞的?乳幸。 
\> 匹配單詞的結(jié)束,如/love\>/匹配包含以love結(jié)尾的單詞的?钧椰。 
x\{m\} 重復(fù)字符x粹断,m次,如:/0\{5\}/匹配包含5個(gè)0的?嫡霞。 
x\{m,\} 重復(fù)字符x瓶埋,?少m次,如:/0\{5,\}/匹配?少有5個(gè)0的?诊沪。 
x\{m,n\} 重復(fù)字符x养筒,?少m次,不多于n次端姚,如:/0\{5,10\}/匹配5~10個(gè)0的?晕粪。
  • 已匹配字符串標(biāo)記&
正則表達(dá)式 \w\+ 匹配每?個(gè)單詞,使? [&] 替換它渐裸,& 對(duì)應(yīng)于之前所匹配到的單詞:
echo this is a test line | sed 's/\w\+/[&]/g' 
[this] [is] [a] [test] [line]
所有以192.168.0.1開頭的?都會(huì)被替換成它?已加localhost:
sed 's/^192.168.0.1/&localhost/' file 
192.168.0.1localhost
  • ?串匹配標(biāo)記\1
匹配給定樣式的其中?部分:
echo this is digit 7 in a number | sed 's/digit \([0-9]\)/\1/' 
this is 7 in a number
命令中 digit 7巫湘,被替換成了 7装悲。樣式匹配到的?串是 7,\(..\) ?于匹配?串尚氛,對(duì)于匹配到的第?個(gè)?串就標(biāo)記為 \1诀诊,依此類
推匹配到的第?個(gè)結(jié)果就是 \2,例如:
echo aaa BBB | sed 's/\([a-z]\+\) \([A-Z]\+\)/\2 \1/' 
BBB aaa
  • 選定?的范圍:,(逗號(hào))
所有在模板test和check所確定的范圍內(nèi)的?都被打釉乃弧:
sed -n '/test/,/check/p' file
打印從第5?開始到第?個(gè)包含以test開始的?之間的所有?:
sed -n '5,/^test/p' file
對(duì)于模板test和west之間的?属瓣,每?的末尾?字符串a(chǎn)aa bbb替換:
sed '/test/,/west/s/$/aaa bbb/' file
  • 多點(diǎn)編輯:e命令
-e選項(xiàng)允許在同???執(zhí)?多條命令:
sed -e '1,5d' -e 's/test/check/' file
上?sed表達(dá)式的第?條命令刪除1?5?,第?條命令?check替換test讯柔。命令的執(zhí)?順序?qū)Y(jié)果有影響抡蛙。如果兩個(gè)命令都是替換
命令,那么第?個(gè)替換命令將影響第?個(gè)替換命令的結(jié)果魂迄。
和 -e 等價(jià)的命令是 --expression:
sed --expression='s/test/check/' --expression='/love/d' file
  • 示例
>gi|1002620271|ref|NC_029525.1| Coturnix japonica isolate 7356 chromosome 10, Coturnix japonica 2.0, whole genome shotgun sequence
TACTCCCCAAGAA
通過sed命令溜畅,將其更改為
>NC_029525.1
TACTCCCCAAGAA
命令如下:
sed 's/^[^ ]*[|]\([^|]*\)[|].*$/>\1/' original.fasta > updated.fasta
命令拆解:
該命令通過貪婪匹配匹配倒數(shù)第二個(gè)|,為了保險(xiǎn)采用[|],[|]限定匹配內(nèi)容极祸,最后\1調(diào)用匹配行的子串
貪婪匹配符:"." "+" "*"
非貪婪匹配:"?"

http://man.linuxde.net/sed

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末慈格,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子遥金,更是在濱河造成了極大的恐慌浴捆,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稿械,死亡現(xiàn)場(chǎng)離奇詭異选泻,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)美莫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門页眯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厢呵,你說我怎么就攤上這事窝撵。” “怎么了襟铭?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵碌奉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我寒砖,道長(zhǎng)赐劣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任哩都,我火速辦了婚禮魁兼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漠嵌。我一直安慰自己咐汞,他們只是感情好判哥,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著碉考,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挺身。 梳的紋絲不亂的頭發(fā)上侯谁,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音章钾,去河邊找鬼墙贱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛贱傀,可吹牛的內(nèi)容都是我干的惨撇。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼府寒,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼魁衙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起株搔,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤剖淀,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后纤房,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纵隔,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年炮姨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捌刮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舒岸,死狀恐怖绅作,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛾派,我是刑警寧澤棚蓄,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站碍脏,受9級(jí)特大地震影響梭依,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜典尾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一役拴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧钾埂,春花似錦河闰、人聲如沸科平。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瞪慧。三九已至,卻和暖如春部念,著一層夾襖步出監(jiān)牢的瞬間弃酌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工儡炼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妓湘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓乌询,卻偏偏與公主長(zhǎng)得像榜贴,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妹田,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,175評(píng)論 2 33
  • Linux sed命令是利用script來處理文本文件唬党。sed可依照script的指令,來處理鬼佣、編輯文本文件初嘹。Se...
    姜淑均閱讀 730評(píng)論 1 2
  • 本文承接之前寫的三十分鐘學(xué)會(huì)AWK一文,在學(xué)習(xí)完AWK之后沮趣,趁熱打鐵又學(xué)習(xí)了一下SED屯烦,不得不說這兩個(gè)工具真的堪稱...
    mylxsw閱讀 4,401評(píng)論 3 74
  • 知識(shí)點(diǎn) sort uniq cut wc sed命令 awk命令 crontab定時(shí)器 sort sort 命令對(duì)...
  • linux sed命令詳解 1. Sed簡(jiǎn)介 sed 是一種在線編輯器,它一次處理一行內(nèi)容房铭。處理時(shí)驻龟,把當(dāng)前處理的行...
    很少更新了閱讀 2,164評(píng)論 0 6