sed '/started/'q 匹配到started字串則退出sed命令
sed '/started/' 同時匹配到started和in兩個字元時則退出sed命令
sed是乙個很好的檔案處理工具,本身是乙個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作,下面先了解一下sed的用法
sed命令列格式為:
sed [-nefri] 『command』 輸入文字
常用選項:
-n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 stdin的資料一般都會被列出到螢幕上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
-e∶直接在指令列模式上進行 sed 的動作編輯;
-f∶直接將 sed 的動作寫在乙個檔案內, -f filename 則可以執行 filename 內的sed 動作;
-r∶sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)
-i∶直接修改讀取的檔案內容,而不是由螢幕輸出。
常用命令:
a ∶新增, a 的後面可以接字串,而這些字串會在新的一行出現(目前的下一行)~
c ∶取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!
d ∶刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;
i ∶插入, i 的後面可以接字串,而這些字串會在新的一行出現(目前的上一行);
p ∶列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起運作~
s ∶取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!
顯示某一時間段的內容行
sed -n '/nov 20 21:00:00/,/nov 21 22:00:00/p' haproxy.log
sed -n '/[0-9]/p'
注釋以logfile開頭的行
sed -i
's/^\(logfile .*\)$/# \1/' /etc/redis/redis.conf
修改某行的內容
sed -i '
3s#.*#
baseurl=' /etc/yum.repos.d/epel.repo
刪除指定的行
sed -i '
4d' /etc/yum.repos.d/epel.repo
修改以某字元開頭的行的部分內容
sed -i '/^tcpaddr/' /etc/clamd.conf
修改以某字元開頭的整行的內容
sed -i '/^#clientaliveinterval
/cclientaliveinterval 60' /etc/ssh/sshd_config
清除檔案或某段內容中的
空格,不包括空行
sed s/[[:space:]]//g
在一檔案中指定的字元後插入內容,可以插入空格。&就是前面匹配的部分
sed -i 's/指定的字元/&要插入的字元/' 檔案
刪除/etc/hosts檔案中包含archive.cloudera.com的行
舉個例子 file 內容:
aa|bb|cc|dd|dd|ee|ff
我要替換第5個|後邊的內容
# sed 's/[^|]\+/yy/5' file
aa|bb|cc|dd|yy|ee|ff
sed命令用法
接著用sed命令處理快取區的內容,處理完成後,把快取區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到 檔案末尾。檔案內容本身並沒有改變。使用sed命令有2種形式 1.sed options commamd file 2.sed options f script file 例子 sed 2d te...
sed命令基本用法
sed是乙個飛互動式文字編輯器 sed只對緩衝區中原始檔案的副本進行編輯,並不編輯原始的檔案 呼叫sed的方法 在shell命令列輸入命令呼叫sed,格式為 sed 選項 sed命令 輸入檔案 sed 選項 f sed指令碼檔案 輸入檔案.sed 指令碼檔案 輸入檔案第 種方式的sed指令碼檔案與第...
sed命令基本用法
1 sed stream editor 行編輯器。工作原理 預設不編輯原始檔,僅僅對模式空間的資料做處理。一行行將檔案讀入模式空間,處理完後再將模式空間的內容輸出一遍。sed和grep awk編輯器都是shell程式設計中的重要工具。2 sed語法 sed option addresscommand...