.net 網(wǎng)站開發(fā)實(shí)例黃岡網(wǎng)站推廣策略
1、概述
sed是文本編輯器,作用是對(duì)文本的內(nèi)容進(jìn)行增刪改查。
和vim不一樣,sed是按行進(jìn)行處理。
sed一次處理一行內(nèi)容,處理完一行之后緊接著處理下一行,一直到文件的末尾
模式空間:臨時(shí)儲(chǔ)存,修改的結(jié)果臨時(shí)保存的地方,不寫入磁盤,文件的內(nèi)容不會(huì)發(fā)生變化,展示完即刪除。
寫入:把修改寫入到磁盤當(dāng)中。
2、sed的選項(xiàng) ?
選項(xiàng) | 說明 |
-e | 指定命令處理的文本文件,多個(gè)執(zhí)行操作需要加上-e |
-f | 高級(jí)腳本模式 |
-i | 修改目標(biāo)文件,使之生效 |
-n | 顯示script處理之后的結(jié)果 |
3、sed的操作符 ?
操作符 | 說明 |
s | 替換,替換指定的字符串 |
d | 刪除選定的行 |
a | 新增,在指定行的下面插入一條新的內(nèi)容 |
i | 新增,在指定行的上面插入一條新的內(nèi)容 |
c | 整行替換為指定的內(nèi)容 |
y | 字符替換(轉(zhuǎn)換前后的字符長(zhǎng)度必須保持一致) |
p | 打印 |
r | 支持?jǐn)U展正則表達(dá)式(讀取和輸出) |
所有的操作符最好用單引號(hào)引起來的,用雙引號(hào)可能會(huì)有歧義
練習(xí)
-
sed的打印功能
?
-
sed的刪除功能?
-
sed對(duì)文件內(nèi)容進(jìn)行替換
s只能對(duì)字符串,s/舊字符/新字符/操作符
g 把所有匹配標(biāo)準(zhǔn)的字符串全部替換,只在替換中生效
c 整行替換??/舊字符/c?新字符
y只能單個(gè)字符,且字符串長(zhǎng)度要一致? y/舊字符/新字符/
-
?sed的插入和新增
a 新增 下一行
i 新增 上一行
r 讀取然后寫入
$a? 把內(nèi)容直接插入到文件的最后一行
$i? ?把內(nèi)容直接插入到文件的最后一行和倒數(shù)第二行之間
$r? 直接讀取文件的內(nèi)容,然后輸出到目標(biāo)文件的行尾
-
腳本模式?
#f腳本模式,在第一個(gè)文件當(dāng)中寫好了替換的命令或者其他的sed操作,用第一個(gè)的腳本修改第二個(gè)文件
sed? -f? 文件1? 文件2?
-
不刪除文件,只清空文件的內(nèi)容
sed? -i? 'd'? 文件名
cat? ? /dev/null? ?>? ?文件名
-
sed當(dāng)中的字符串和字符位置的交換
-
取出版本號(hào)
-
查看指定時(shí)間內(nèi)的所有日志
?sed? -n '/Nov 27 12:32:41/,/Nov 27 13:30:01/p'? /var/log/syslog #按時(shí)間查找