1. 程式人生 > >LINUX 之 sed用法

LINUX 之 sed用法

sed用法


Linux sed命令是利用script來處理文本文件

sed可依照script的指令,來處理、編輯文本文件

sed主要用來自動編輯一個或多個文件;簡化對文件的反復操作;編寫轉換程序等

語法

sed [-hnV][-e<script>][-f<script文件>][文本文件]


參數說明:

-e<script>或--expression=<script>以選項中指定的script來處理輸入的文本文件。


-f<script文件>或--file=<script文件>以選項中指定的script文件來處理輸入的文本文件。

-h或--help顯示幫助。


-n或--quiet或--silent僅顯示script處理後的結果。

-V或--version顯示版本信息。


動作說明:

a:新增, a的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)

c:取代, c的後面可以接字串,這些字串可以取代n1,n2之間的行

d:刪除,因為是刪除啊,所以d後面通常不接任何東西

i:插入,i的後面可以接字串,而這些字串會在新的一行出現(目前的上一行)

p:列印,亦即將某個選擇的數據印出,通常p會與參數sed -n 一起運行

s:取代,可以直接進行取代的工作,通常這個s的動作可以搭配正規表示法


地址定界:

1)不給地址:對全文進行處理

2)單地址:

#:指定的行,$:最後一行

/pattern/:被此處模式所能夠匹配到的每一行

3)地址範圍:

#,#

#,+#

/pat1/,/pat2/

#,/pat1/

4)~:步進

1~2奇數行

2~2偶數行


sed示例:

sed -n '2,/root/p' /etc/passwd 從2行開始

sed -n '/^$/=' file 顯示空行行號

sed '/root/a\superman' /etc/passwd 行後

sed '/root/i\superman' /etc/passwd 行前

sed '/root/c\superman' /etc/passwd 代替行



LINUX 之 sed用法