Linux sed

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

  • -help 查看sed的用法
  • -n, --quiet, --silent suppress automatic printing of pattern space
    阻止默認(rèn)輸出(顯示)模版空間里的數(shù)據(jù)讯泣,此時(shí)只輸出p命令指定的內(nèi)容。
  • -e script, --expression=script add the script to the commands to be executed
    將指定腳本SCRIPT中的命令增加到處理輸入文件的命令組中
  • -f script-file, --file=script-file add the contents of script-file to the commands to be executed
    將指定腳本SCRIPT-FILE中的命令增加到處理輸入文件的命令組中阅悍。
  • --follow-symlinks follow symlinks when processing in place
    只在支持符號(hào)連接的系統(tǒng)中好渠,并且同時(shí)用選項(xiàng)-i時(shí)才有作用:若指定的輸入文件是一個(gè)符號(hào)連接,SED會(huì)處理符號(hào)連接的目標(biāo)文件节视,并保持連接拳锚。默認(rèn)SED會(huì)斷開連接,使符號(hào)連接的目標(biāo)文件不會(huì)被修改寻行。
  • -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if SUFFIX supplied)
    將文件放在in-place里編輯處理霍掺。GNU是通過(guò)創(chuàng)建一個(gè)臨時(shí)文件,并將SED的輸出送到此文件拌蜘,而不是送到標(biāo)準(zhǔn)輸出的方式來(lái)實(shí)現(xiàn)杆烁。應(yīng)用于命令:=、a简卧、c兔魂、i、l举娩、p中析校,但同時(shí)還可用命令w或W及將輸出文件指定為/dev/stdout构罗,實(shí)現(xiàn)SED的輸出也同時(shí)送到標(biāo)準(zhǔn)輸出。
    此選項(xiàng)已隱含了另一選項(xiàng)-s勺良。i與SUFFIX之間不能有空格
    一個(gè)文件處理完時(shí)绰播,SED將創(chuàng)建的臨時(shí)文件名換成輸出文件的原名(即被處理的輸入文件名)。若指定有后綴SUFFIX尚困,則會(huì)先將舊文件換名成SUFFIX后綴而形成備份蠢箩;否則舊文件被覆蓋而無(wú)備份。
    換名規(guī)則是:若SUFFIX不含有星號(hào)(),將SUFFIX作為后綴直接追加在舊文件名后事甜;否則谬泌,SUFFIX中的每個(gè)星號(hào)()都被舊文件名取代。好處是:還允許為備份文件指定前綴逻谦,而不僅僅是后綴掌实,甚至將可備份放到另一個(gè)目錄中(目錄必須已存在)
  • -l N, --line-length=N specify the desired line-wrap length for the `l' command --posix disable all GNU extensions.
    指定l(L)命令自動(dòng)換行的長(zhǎng)度為N,0表示不對(duì)長(zhǎng)行進(jìn)行自動(dòng)換行處理邦马,默認(rèn)是70贱鼻。
  • -r, --regexp-extended use extended regular expressions in the script.
    用擴(kuò)展正則表達(dá)式規(guī)則來(lái)解釋匹配模版。
  • -s, --separate consider files as separate rather than as a single continuous long stream.
    默認(rèn)SED將命令行上指定的多個(gè)輸入文件看作成一個(gè)連續(xù)的長(zhǎng)數(shù)據(jù)流處理滋将。用這個(gè)GNU的擴(kuò)展選項(xiàng)邻悬,SED將會(huì)看作各個(gè)獨(dú)立的文件來(lái)處理,
    但注意的是:指定的地址范圍不能跨度到其他文件随闽;顯示的行號(hào)都是相對(duì)于各自文件的首行父丰;字符$會(huì)指示每個(gè)文件的最后一行;來(lái)自R命令的調(diào)用文件對(duì)每個(gè)輸入文件都會(huì)重新執(zhí)行一次掘宪。
  • -u, --unbuffered load minimal amounts of data from the input files and flush the output buffers more often
    對(duì)輸入和輸出都根據(jù)實(shí)際蛾扇,盡可能小地進(jìn)行緩沖處理,或不緩沖魏滚。這對(duì)SED命令的輸入是來(lái)自類似于命令tail –f镀首,而你又想盡可能快地看到處理后的輸出,是特別有用的鼠次。
  • -z, --null-data separate lines by NUL characters
    --help display this help and exit
    顯示sed參數(shù)信息后退出蘑斧。
    --version output version information and exit
    顯示sed版本信息后退出。
# 截取第五行的數(shù)據(jù):
sed -n '5p' /etc/passwd 
# 多個(gè)空格替換成一個(gè)空格:
sed 's/\  */\ /g' test.txt
# 刪除man后面的數(shù)據(jù):
# root@ubuntu:/home/jianeng# head /etc/passwd
# root:x:0:0:root:/root:/bin/bash
# daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
# man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
# man:.* 意思是: 這個(gè)字符后的所有字符
# a.*b须眷,它將會(huì)匹配最長(zhǎng)的以a開始竖瘾,以b結(jié)束的字符串
head /etc/passwd | grep 'man:' | sed 's/:.*//g'

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市花颗,隨后出現(xiàn)的幾起案子捕传,更是在濱河造成了極大的恐慌,老刑警劉巖扩劝,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件庸论,死亡現(xiàn)場(chǎng)離奇詭異职辅,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)聂示,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門域携,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鱼喉,你說(shuō)我怎么就攤上這事秀鞭。” “怎么了扛禽?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵锋边,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我编曼,道長(zhǎng)豆巨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任掐场,我火速辦了婚禮往扔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘熊户。我一直安慰自己瓤球,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布敏弃。 她就那樣靜靜地躺著,像睡著了一般噪馏。 火紅的嫁衣襯著肌膚如雪麦到。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天欠肾,我揣著相機(jī)與錄音瓶颠,去河邊找鬼。 笑死刺桃,一個(gè)胖子當(dāng)著我的面吹牛粹淋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播瑟慈,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼桃移,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了葛碧?” 一聲冷哼從身側(cè)響起借杰,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎进泼,沒(méi)想到半個(gè)月后蔗衡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纤虽,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年绞惦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逼纸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡济蝉,死狀恐怖杰刽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情堆生,我是刑警寧澤专缠,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站淑仆,受9級(jí)特大地震影響涝婉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蔗怠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一墩弯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寞射,春花似錦渔工、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至侵浸,卻和暖如春旺韭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背掏觉。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工区端, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人澳腹。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓织盼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親酱塔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沥邻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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