sed 是一種在線編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩衝區中,稱爲「模式空間」(pattern space),接着用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往屏幕。接着處理下一行,這樣不斷重複,直到文件末尾。文件內容並無 改變,除非你使用重定向存儲輸出。sed主要用來自動編輯一個或多個文件;簡化對文件的反覆操做;編寫轉換程序等。mysql
參數:sql
-i : 直接修改讀取的文件內容,而不是輸出到終端shell
a:在當前行的下面添加內容編輯器
vagrant@shell:~$ echo -e "[mysqld]\nfuckfuckfuck\n[mysqldump]"|sed '/[mysqld]/alog-bin=mysql-bin\nserver-id=24'ide
[mysqld]spa
log-bin=mysql-binvagrant
server-id=24server
fuckfuckfuckit
[mysqldump]class
log-bin=mysql-bin
server-id=24
若是隻在[mysqld]下面插入的話,就要對 [ ] 轉義
vagrant@shell:~$ echo -e "[mysqld]\nfuckfuck\n[mysqldu]"|sed '/^\[mysqld\]$/alog-bin=mysql-bin\nserver-id=24'
[mysqld]
log-bin=mysql-bin
server-id=24
fuckfuck
[mysqldu]