在sed語句,正規表示式必須封閉在//中間。如/^$/d,刪除空行。
sed位址
在sed位址管理中,預設是對全域性進行操作,同時位址可以分為行位址和模式位址。
如1,10d 12d 10,$d 表示行位址
如/^$/d 表示模式位址。
使用者在進行操作時,可以對行位址和模式位址一起結合進行操作。如1,/^$/d 表示刪除第一行到第乙個空行之間的所有內容。
sed位址嵌入
address
替換命令
語法格式:
[address]s/old/new/flags
flags如下:
n:1~512之間的數字,表示對本模式中指定的匹配行中出現第n次的情況時進行替換,其它行不進行替換。
如sed 's/unix/unix/2' sed.txt 替換每行中第個unix字元,將其轉換成大寫unix。
g:表示對全域性進行替換。
p:列印模式空間的內容。即列印匹配行的內容。
w file:表示匹配行的內容寫到另乙個檔案中。
注意:定界符可以使用多種,如「/」「#」「,」「!」等
s/ */ /g表示任意多個空格,用乙個空格代替。
s/unix/aa&bb/g 表示將unix替換成aaunixbb。
刪除命令
語法格式:
[address]d
如/^/.aa/d 刪除.aa開頭的內容。
/^$/d 刪除空行的內容。 (應用到了模式位址)
10d 刪除第10行的內容。 (應用到了行位址)
追加命令
語法格式:
[line-address]a/text
如sed '10a/abcd' sed.txt 在sed.txt檔案中的第10行後面追加一行abcd字元。
sed '/unix/a/abcd//ndcba' sed.txt 在sed.txt檔案中所有出現unix字元的行後面追加一行abcd/ndcba字元
sed '/unix/a/abcd/n/dcba' sed.txt 在sed.txt檔案中所有出現unix字元的行後面追加兩行字元,其中第一行為abcd第二行為dcba。
插入命令
語法格式:
[line-address]i/text
如 sed '/unix/i/adflajflad/n/adfadfajdlf' sed-s.txt 在sed.txt檔案中所有出現unix字元的行前面追加兩行字元,其中第一行為abcd第二行為dcba。
更改命令
語法格式:
[address]c/text
如sed '1c/aaaa' sed-s.txt 將第一行的內容更改為aaaa.
轉換命令
語法格式:
[address]y/old/old/ 將小寫的old轉換成大寫的old字元。
使用y命令時,需要注意轉換的字元個數一定要相同,當轉換的字元個數不相同時,系統將提示錯誤。
列印行號
語法格式:
[address]= 列印匹配行的行號。
如 sed '/unix/=' sed.txt 列印sed.txt檔案中,包含unix字元的行號。不包含unix字元的行,不列印行號。
sed '/yes/=' /etc/ssh/sshd_config
下一步,next
語法格式:
[address]n next改變正常的流控制,執行完這一步時,不返回,而是執行下一步內容。
讀/寫檔案
語法格式:
[line-address]r file 讀檔案。
[address]w file 寫檔案。
如sed '/unix/r 1.txt' sed-s.txt 在unix字元的後面,讀入1.txt檔案
sed '2r 1.txt' sed-s.txt 在第2行後面,讀入1.txt檔案
sed '2,5w 2.txt' sed-s.txt 將第2行到第5行的內容,寫到2.txt檔案中去。
退出語法格式:
[address]q
如sed 『100q』 sed.txt 讀到第100行時,退出。
sed '/unix/q' sed.txt 遇到第乙個unix字元時退出。
sed使用手冊
原貼 http blog.chinaunix.net u 23204 showart 305602.html sed使用手冊 原創 在sed語句,正規表示式必須封閉在 中間。如 d,刪除空行。sed位址 在sed位址管理中,預設是對全域性進行操作,同時位址可以分為行位址和模式位址。如1,10d 12...
sed使用手冊
刪除 d命令 sed 2d example 刪除example檔案的第二行。sed 2,d example 刪除example檔案的第二行到末尾所有行。sed d example 刪除example檔案的最後一行。sed test d example 刪除example檔案所有包含test的行。替換...
sed使用手冊
刪除 d命令 sed 2d example 刪除example檔案的第二行。sed 2,d example 刪除example檔案的第二行到末尾所有行。sed d example 刪除example檔案的最後一行。sed test d example 刪除example檔案所有包含test的行。替換...