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 代替行