- 論壇徽章:
- 0
|
從書上看了一個(gè)例子,想請教下我的理解對不對,希望高手指正!
- [root@localhost ch05]# more testmail
- From root@localhost.localdomain Mon Dec 11 00:24:00 2006
- Date: Mon, 11 Dec 2006 00:23:58 +0800
- From: root <root@localhost.localdomain>
- To: root@localhost.localdomain
- Subject: LogWatch for localhost.localdomain
- ################### LogWatch 4.3.1 (01/13/03) ####################
復(fù)制代碼
- [root@localhost ch05]# sed '/^From /,/^$/{
- s/^From //p
- c\
- <mail header removed>
- } ' testmail
- root@localhost.localdomain Mon Dec 11 00:24:00 2006
- <mail header removed>
- <mail header removed>
- <mail header removed>
- <mail header removed>
- <mail header removed>
- <mail header removed>
- ################### LogWatch 4.3.1 (01/13/03) ####################
- [root@localhost ch05]#
復(fù)制代碼
sed始終是按行編輯的,這個(gè)腳本的命令是:
第一行:先刪除From這個(gè)單詞和一個(gè)空格,然后打印這一行,再用<mail header removed>替換這一行。腳本到底部以后會產(chǎn)生輸出,所以會輸出2行:
- root@localhost.localdomain Mon Dec 11 00:24:00 2006
- <mail header removed>
復(fù)制代碼
然后sed腳本開始應(yīng)用于第二行,模式空間讀入第二行以后被換為第二行的內(nèi)容,
因?yàn)榈谝粋(gè)命令無法匹配而生效,所以,腳本到尾部替換完以后的
會被輸出。
第三行,第四行,第五行,一行空格。也是如此。

謝謝了! |
|