sed工具

sed是一種流編輯器,它是文本處理中很是中的工具,可以完美的配合正則表達式使用,功能與衆不同。處理時,把當前處理的行存儲在臨時緩衝區中,稱爲「模式空間」(pattern space),接着用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往屏幕。接着處理下一行,這樣不斷重複,直到文件末尾。文件內容並無 改變,除非你使用重定向存儲輸出。Sed主要用來自動編輯一個或多個文件;簡化對文件的反覆操做;編寫轉換程序等。正則表達式

sed用法

使用sed能夠實現grep的大部分功能,並且還能夠查找替換。express

 

語法:
sed [options] 'command' filename
sed [options] -f scriptfile filenamevim

Options
-n:-n選項和p命令一塊兒使用表示打印
-e:等價於--expression,多點編輯,在一行執行多條命令編輯器

-r:脫義工具

-s:替換spa

-d:指定行ip

`g' 爲本行中全局替換字符串

用sed實現匹配(grep)功能=打印有root字符串的行

忽略大小寫(I)

打印指定行(p)

7,$=打印7到末行io

-e選項容許在同一行裏執行多條命令:

解析: 「sed -e '1'p -e '/daemon/'p -n test.txt」該命令的意思是:打印第一行,同時也打印出匹配有‘daemon’的行。當打印的內容和匹配的內容相同時,會分別顯示,即:兩個命令同時進行但相對獨立。test

刪除指定行(d)

注: 這種方法並不會刪除文件的內容,知識打印在屏幕上的內容刪除了指定行。那麼如何直接刪除文件中指定的內容呢?以下 :

查找替換(s) 相似於vim中的查找替換

替換每行第一個字符串和最後一個字符串的位置:

說明: 小括號內的字符串能夠用反斜槓跟數字組合按順序來代替。

([^:]+):非:的字符,+一個或多個 一個或多個非冒號字符: 1

:(.*):: :匹配任何意義字符: 2:

([^:]+):一個或多個非冒號字符 3:

脫義替換:

`/' 做爲分隔符外,還能夠使用其餘特殊字符例如 `#' 或者 `@' 都沒有問題。

刪除內容(替換爲空便可)

在每一行行首添加指定字符:

說明: 在此&表明前面括號中的內容=「\ 1」

A:&=A:+整行內容=2

(.*)=整行內容=1

1被替換成2

& 保存搜索字符用來替換其餘字符,如s/asd/**&**/,asd這成**asd**。

相關文章
相關標籤/搜索