1、課程知識(shí)概述部分
1)三劍客sed命令概述介紹
2)三劍客sed命令執(zhí)行原理 命令的基本語(yǔ)法
3)三劍客sed命令實(shí)操練習(xí) 增(添加信息)刪 改(修改) 查(查找)
4)編寫(xiě)腳本:系統(tǒng)基礎(chǔ)優(yōu)化腳本
編寫(xiě)腳本--放在系統(tǒng)中--執(zhí)行腳本--全部?jī)?yōu)化(省事)
成都創(chuàng)新互聯(lián)公司主營(yíng)竹溪網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,手機(jī)APP定制開(kāi)發(fā),竹溪h5小程序開(kāi)發(fā)搭建,竹溪網(wǎng)站營(yíng)銷推廣歡迎竹溪等地區(qū)企業(yè)咨詢
2、課程知識(shí)回顧
1)基礎(chǔ)正則符號(hào):7個(gè) ^ $ . * \ [ ] [^]
2)擴(kuò)展正則符號(hào):5個(gè) ? + {} | ( )
擴(kuò)展正則使用:
grep -E == egrep
sed -r
3)總結(jié)grep命令參數(shù) 篩選信息
-i ----忽略大小寫(xiě)搜索信息
-n ----搜索信息后顯示行號(hào)
-c -----統(tǒng)計(jì)篩選出來(lái)的行數(shù)
-v -----將搜索信息進(jìn)行取反
-o ----只輸出顯示匹配信息
-w -----按照字符串匹配信息
-A ----過(guò)濾指定內(nèi)容之后的信息
-B ----過(guò)濾指定內(nèi)容之前的信息
-C ----過(guò)濾指定內(nèi)容上下幾行的信息
-E-----識(shí)別擴(kuò)展正則信息
-r ------遞歸搜索指定的數(shù)據(jù)內(nèi)容[]
3、三劍客命令sed概述介紹
sed - stream editor for filtering and transforming text
1)可以查找過(guò)濾篩選出指定的信息
2)擅長(zhǎng)編輯文件的內(nèi)容信息
3)擅長(zhǎng)對(duì)文件的行進(jìn)行操作
4、三劍客命令sed執(zhí)行原理
1)執(zhí)行原理過(guò)程:
2)命令語(yǔ)法結(jié)構(gòu):
sed 【參數(shù)】(看情況添加) ‘條件、指令(處理的動(dòng)作)’ 文件信息(處理的文件)
·條件定義:根據(jù)行號(hào) 內(nèi)容 正則信息 進(jìn)行處理
·指令定義:滿足條件的信息處理動(dòng)作(添加 刪除 修改 輸出)
5、三劍客sed命令實(shí)操練習(xí)
準(zhǔn)備測(cè)試文件:
cat >>person.txt<
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
EOF
1)熟悉sed命令查詢操作(輸出操作)
(1)根據(jù)行號(hào)進(jìn)行篩選
·單行信息顯示
·多行信息顯示----連續(xù)的
·多行信息顯示----不連續(xù)的
(2)根據(jù)字符信息進(jìn)行篩選
·單行信息輸出
·多行信息輸出-----連續(xù)的
有開(kāi)頭就繼續(xù)
·多行信息輸出-----不連續(xù)的
2)熟悉sed命令查詢操作
(1)根據(jù)行號(hào)進(jìn)行刪除
·單行信息刪除
·多行信息刪除---連續(xù)的
·多行信息刪除---不連續(xù)的
沒(méi)有真正的刪除,它是在內(nèi)存中執(zhí)行的[內(nèi)存中執(zhí)行
]
sed -i '6d' person.txt --- 真正刪除文件信息
-i --- 將模式空間操作影響到磁盤中
將模式空間信息 --- 覆蓋 --- 磁盤文件中[永久刪除]
3)熟悉sed命令添加操作
(1)根據(jù)行號(hào)添加信息 (a 附加 寓意后面) (i插入 前面添加)($表示最后一行 在最后一行添加信息)
·單行添加信息(a)
·多行添加信息---連續(xù)的
·多行添加信息---不連續(xù)的
·文件最后添加?xùn)|西
[root@moban? /oldboy 11:42:06]# cat person.txt
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
[root@moban? /oldboy 11:42:12]# sed '$aoldboy69' person.txt?
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
oldboy69
(2)行前添加信息行(i)
[root@moban? /oldboy 11:52:54]# cat person.txt
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
[root@moban? /oldboy 11:52:58]# sed '1ioldboy69' person.txt?
oldboy69
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
沒(méi)有真正的添加,它是在內(nèi)存中執(zhí)行的[內(nèi)存中執(zhí)行
]
sed -i '1aoldboy69' person.txt --- 真正添加文件信息
-i --- 將模式空間操作影響到磁盤中
將模式空間信息 --- 覆蓋 --- 磁盤文件中[永久刪除]
4)熟悉sed命令替換操作
(1)根據(jù)行號(hào)搜索做替換
(2)多行替換---連續(xù)
(3)多行替換---不連續(xù)
sed命令使用忠告
1) sed命令操作時(shí)候要做備份
sed -i bak --- 在編輯文件時(shí),直接多文件進(jìn)行備份
[root@oldboy69 oldboy 12:52:22]# ll person.txt*
-rw-r--r--. 1 root root 96 Dec 19 12:52 person.txt
-rw-r--r--. 1 root root 107 Dec 19 12:46 person.txt.bak
-rw-r--r--. 1 root root 94 Dec 19 12:52 person.txtr
說(shuō)明: sed命令在是使用時(shí), 需要用到多個(gè)參數(shù), 要將-i參數(shù)寫(xiě)在所有參數(shù)后面
2) sed命令在使用時(shí), 一定不要讓-n參數(shù)和-i參數(shù)一起使用
7、sed的命令課程總結(jié)
1)sed命令作用說(shuō)明
·過(guò)濾篩選文件內(nèi)容信息
·擅長(zhǎng)對(duì)指定行進(jìn)行操作
·擅長(zhǎng)直接編輯文件內(nèi)容
2)sed命令執(zhí)行原理
3)sed命令語(yǔ)法格式 sed 參數(shù) ‘條件 指令’ 文件信息
參數(shù):
-n -----取消輸出模式
-i ------真正編輯文件內(nèi)容
-r ----識(shí)別擴(kuò)展正則
-e -----識(shí)別多個(gè)條件操作
指令
p ---輸出模式
d ----刪除操作
a ----附加操作
i ----插入操作
s ----替換操作
g ------全局替換
r ------
c -----
條件信息
$
n
n,m
/字符/
\
4)sed命令實(shí)踐用法
·如何進(jìn)行查詢操作 根據(jù)行/根據(jù)字符
·如何進(jìn)行刪除操作 根據(jù)行/根據(jù)字符
·如何進(jìn)行添加操作 根據(jù)行/根據(jù)字符
·如何進(jìn)行替換操作 根據(jù)行/根據(jù)字符 后向引用前項(xiàng)替換() \1