四劍客-sed

增刪改查

進(jìn)階:模式空間與保持空間 把文件中所有的回車替換為空格

1.sed命令執(zhí)行流程

分析,解決故障,問題的時候
執(zhí)行流程
執(zhí)行流程: 四個字 找誰干啥(條件命令)
image.png

2.sed命令查找

p-print 顯示/打印
image.png
#案例01 顯示第3行     固定行號 某一行  
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
[root@m01 /server/files]# sed -n '3p' sed.txt 
103,李導(dǎo)996,COO
[root@m01 /server/files]# 
#案例02 顯示文件的第2到第5行     行號范圍  
[root@m01 /server/files]# sed -n '2,5p' sed.txt
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
[root@m01 /server/files]# 
#案例03 模糊查找   查找包含 oldboy 單詞的行
grep 'oldboy'
[root@m01 /server/files]# sed -n '/oldboy/p' sed.txt 
101,oldboy,CEO
#案例04 模糊查找 使用正則匹配  
[root@m01 /server/files]# sed -nr '/oldboy|lidao/p' sed.txt 
101,oldboy,CEO
110,lidao,COCO
#案例05 模糊查找, 范圍 匹配 從包含103的行 到匹配119的行
[root@m01 /server/files]# sed -n   '/103/,/119/p' sed.txt 
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
[root@m01 /server/files]# #sed -n   '/從哪里來/,/到哪里去/p' sed.txt 

#取出 日志中 11:02 到 11:30日志
#sed -n '//,//p' access.log 
sed -n '/11:02:00/,/11:30:00/p' access.log |less 
#案例06   實(shí)現(xiàn) grep -A功能 了解
grep -A  5     oldboy   oldboy.txt 
[root@m01 /server/files]# cat sed.txt 
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
[root@m01 /server/files]# sed -n '3,+5p'   sed.txt 
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
[root@m01 /server/files]# sed -n '/oldboy/,+5p'   sed.txt 
[root@m01 /server/files]# sed -n '/oldboy/,+5p'   sed.txt 
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
#案例07 實(shí)現(xiàn)有規(guī)律的 匹配多行 了解
[root@m01 /server/files]# seq 10 |sed -n '1~2p'
1
3
5
7
9
[root@m01 /server/files]# seq 10 |sed -n '2~2p'
2
4
6
8
10
#案例08 排除   oldboy行排除掉
[root@m01 /server/files]# sed -n '/oldboy/p' sed.txt 
101,oldboy,CEO
[root@m01 /server/files]# sed -n '/oldboy/!p' sed.txt 
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
[root@m01 /server/files]# sed '/oldboy/d' sed.txt 
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO

3.刪除

d---delete
image.png
# 案例01 
[root@m01 /server/files]# sed '/oldboy/d' sed.txt 
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
# 案例02 刪除/顯示最后一行
[root@m01 /server/files]# sed '1d' sed.txt 
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
[root@m01 /server/files]# sed '$d' sed.txt 
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
[root@m01 /server/files]# 
[root@m01 /server/files]# 
[root@m01 /server/files]# 
[root@m01 /server/files]# sed -n '$p' sed.txt 
119,huiling,CFO
#案例03 刪除 文件中從包含lidao的行到最后一行的內(nèi)容
[root@m01 /server/files]# cat   sed.txt 
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
[root@m01 /server/files]# sed '/lidao/,$d' sed.txt 
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
4 增加
cai 行為單位
image.png
#案例01 在文件的最后一行后面增加一行內(nèi)容 lidao007,007,007,/home/hlj
[root@m01 /server/files]# sed '$a lidao007,007,007,/home/hlj' sed.txt 
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
lidao007,007,007,/home/hlj
#案例02 在 第1行上面插入一行內(nèi)容   lidao007,007,007,/home/hlj
[root@m01 /server/files]# sed '1i lidao007,007,007,/home/hlj' sed.txt 
lidao007,007,007,/home/hlj
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
#案例03 替換第1行的內(nèi)容為 lidao007,007,007,/home/hlj
[root@m01 /server/files]# sed '1c lidao007,007,007,/home/hlj' sed.txt 
lidao007,007,007,/home/hlj
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
#案例04 在/etc/ssh/sshd_config 最后增加內(nèi)容
[root@m01 /server/files]# sed '$a Port=22\nPermitRootLogin=no\nUseDNS=no\nGSSAPIAuthcation=no' 
/etc/ssh/sshd_config 
cat >>sshd_config<<EOF
Port=22
PermitRootLogin=no
UseDNS=no
GSSAPIAuthcation=no
EOF
echo 'Port=22
PermitRootLogin=no
UseDNS=no
GSSAPIAuthcation=no'
5 修改(替換)
s###g s@@@g s///g sAAA
s------替換 substitute sub
#案例01 替換
[root@m01 /server/files]# sed 's#oldboy#oldgirl#g' sed.txt 
101,oldgirl,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
#案例02 全局替換 非全局替換
# g全局替換  
# 不加上g默認(rèn)是只替換每一行第1個匹配的內(nèi)容
[root@m01 /server/files]# sed 's#[0-9]#<666>#g' sed.txt 
<666><666><666>,oldboy,CEO
<666><666><666>,zhangya,CTO
<666><666><666>,李導(dǎo)<666><666><666>,COO
<666><666><666>,yy,CFO
<666><666><666>,feixue,CIO
<666><666><666>,lidao,COCO
<666><666><666>,huiling,CFO
[root@m01 /server/files]# sed 's#[0-9]#<666>#' sed.txt 
<666>01,oldboy,CEO
<666>02,zhangya,CTO
<666>03,李導(dǎo)996,COO
<666>04,yy,CFO
<666>05,feixue,CIO
<666>10,lidao,COCO
<666>19,huiling,CFO
#案例03 后向引用
[root@m01 /server/files]# echo   {01..5}{a..e} |sed -r 's#([0-9a-z]+)#<\1>#g'
<01a> <01b> <01c> <01d> <01e> <02a> <02b> <02c> <02d> <02e> <03a> <03b> <03c> <03d> <03e> <04a> <04b> <04c> 
<04d> <04e> <05a> <05b> <05c> <05d> <05e>
6 sed進(jìn)階
#案例01 把文件中的回車替換為空格(使用sed)  
[root@m01 /server/files]# cat sed.txt 
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
104,yy,CFO
105,feixue,CIO
110,lidao,COCO
119,huiling,CFO
## 直接使用出現(xiàn)故障
[root@m01 /server/files]# sed 's#\n# #g' sed.txt 
101,oldboy,CEO
102,zhangya,CTO
103,李導(dǎo)996,COO
#通過sed命令 N選項(xiàng)讀取多行
seq 10 | sed 'N;s#\n# #g'
seq 10 | sed 'N;N;N;N;N;N;N;N;N;s#\n# #g'
#sed命令自帶 循環(huán)格式
[root@m01 /server/files]# seq 5 | sed ':label ;N;s#\n# #g; t label ' 
1 2 3 4 5
[root@m01 /server/files]# 
#顯示 循環(huán)執(zhí)行流程
[root@m01 /server/files]# seq 5 | sed ':label ;N;s#\n# #g;p; t label ' 
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5
# N 讀寫下一行內(nèi)容,到內(nèi)存中(模式空間)
# 循環(huán)   :標(biāo)簽   ; 循環(huán)內(nèi)容; t 標(biāo)簽
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末返咱,一起剝皮案震驚了整個濱河市飞傀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌氯庆,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡隙赁,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門梆暖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來伞访,“玉大人,你說我怎么就攤上這事轰驳『裰溃” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵级解,是天一觀的道長冒黑。 經(jīng)常有香客問我,道長勤哗,這世上最難降的妖魔是什么抡爹? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮芒划,結(jié)果婚禮上冬竟,老公的妹妹穿的比我還像新娘。我一直安慰自己民逼,他們只是感情好泵殴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缴挖,像睡著了一般袋狞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上映屋,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天苟鸯,我揣著相機(jī)與錄音,去河邊找鬼棚点。 笑死早处,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瘫析。 我是一名探鬼主播砌梆,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼贬循!你這毒婦竟也來了咸包?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤杖虾,失蹤者是張志新(化名)和其女友劉穎烂瘫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奇适,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坟比,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了嚷往。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葛账。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖皮仁,靈堂內(nèi)的尸體忽然破棺而出籍琳,到底是詐尸還是另有隱情,我是刑警寧澤贷祈,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布巩割,位于F島的核電站,受9級特大地震影響付燥,放射性物質(zhì)發(fā)生泄漏宣谈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一键科、第九天 我趴在偏房一處隱蔽的房頂上張望闻丑。 院中可真熱鬧,春花似錦勋颖、人聲如沸嗦嗡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侥祭。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矮冬,已是汗流浹背谈宛。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留胎署,地道東北人吆录。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像琼牧,于是被迫代替她去往敵國和親恢筝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

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

  • Sed 概述:sed是一個非交互的文本編輯器巨坊,可對文本文件和標(biāo)準(zhǔn)輸入進(jìn)行編輯撬槽,,可以編輯一個或者多個文件趾撵,簡化對問...
    阿當(dāng)運(yùn)維閱讀 223評論 0 0
  • sed概念說明:字符流過濾編輯和文字符流轉(zhuǎn)換工具 文本處理方式:增侄柔、刪、改鼓寺、查勋拟。 1、標(biāo)準(zhǔn)語法格式 2妈候、常用選項(xiàng) ...
    你好_請關(guān)照閱讀 526評論 0 0
  • 1.四劍客 2.正則表達(dá)式 基礎(chǔ)正則 擴(kuò)展 正則 perl正則 注意事項(xiàng): 一行一行過濾 注意字符集:export...
    linux_龍閱讀 469評論 0 1
  • 一敢靡、前言 我們都知道,在Linux中一切皆文件苦银,比如配置文件啸胧,日志文件,啟動文件等等幔虏。如果我們相對這些文件進(jìn)行一些...
    以七v為書閱讀 1,518評論 0 5
  • 表情是什么纺念,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達(dá)很多信息想括。高興了當(dāng)然就笑了陷谱,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 125,086評論 2 7