??sed是Linux下一款功能強(qiáng)大的文本處理工具丽涩,可以替換妄帘、刪除鲤脏、追加文件內(nèi)容驯耻,支持正則表達(dá)式使用泌射。
-
文本替換
- 將當(dāng)前sed目錄下1.txt文件里的ccc替換成xxx
# sed -i 's/ccc/xxx/' ./sed/1.txt
- 將當(dāng)前sed目錄下所有文件里的bbb替換成xxx
# sed -i "s/bbb/xxx/g" `grep bbb -rl ./sed/`
- 將當(dāng)前sed目錄下所有文件里的aaa替換成111
# sed -i 's/aaa/111/g' `find ./sed/ -type f`
-
文本刪除
- 刪除當(dāng)前sed目錄下1.txt文件里的空白行
# sed -i '/^$/d' ./sed/1.txt
- 刪除當(dāng)前sed目錄下所有文件里的空白行
# sed -i '/^$/d' `find ./sed/ -type f`
- 刪除當(dāng)前sed目錄下2.txt文件里以111開頭的行
# sed -i '/^111/'d ./sed/2.txt
- 刪除當(dāng)前sed目錄下1.txt文件里的第2行
# sed -i '2d' ./sed/1.txt
- 刪除當(dāng)前sed目錄下2.txt文件里的第1行以后的行
# sed -i '2,$d' ./sed/2.txt
-
文本追加
- 將8888追加到當(dāng)前sed目錄下所有文件里xxx后面
# sed -i 's/xxx/& 8888/g' `find ./sed/ -type f`
- 將yyy追加到當(dāng)前sed目錄下所有文件里xxx后面国裳,注:
沒有空格
# sed -i 's/xxx/&yyy/g' `find ./sed/ -type f`
- 將12345追加到當(dāng)前sed目錄下1.txt文件里以111開頭的上面
# sed -i '/^111/i\12345' ./sed/1.txt
- 將67890追加到當(dāng)前sed目錄下1.txt文件里以111開頭的下面
# sed -i '/^111/a\67890' ./sed/1.txt
- 將
this is a 1.txt line
追加到當(dāng)前sed目錄下1.txt文件里的第3行
# sed -i '3i\this is a 1.txt line' ./sed/1.txt
結(jié):本人也是在工作中不斷的學(xué)習(xí)煮甥、實(shí)踐盗温。當(dāng)時(shí)為了解決問題,掌握了sed
命令成肘,其實(shí)在期間也考慮了使用ngx_http_substitutions_filter_module或replace-filter-nginx-module模塊卖局,最后選擇了sed
解決問題,就是為了快捷方便簡(jiǎn)單双霍。
---- END ----