sed:s命令

shell腳本最常見的一個用途就是處理文本文件。

檢查日誌文件、讀取配置文件、處理數據元素,shell腳本可以幫助我們將文本文件中各種數據的日常處理任務自動化。


sed (常見的命令行編輯器之一)

stream editor流編輯器 (vim 交互式文本編輯器)

編輯器命令

s命令:斜線/隔出兩個字符串,用第二個替換第一個(每行默認只替換第一處)

echo "This is a test" | sed 's/test/big test/'

This is a big test

-e可以執行多個命令:

vim data1.txt

The quick green fox jumps over the lazy cat.

sed -e 's/brown/green/;s/dog/cat/;' data1.txt

The quick green fox jumps over the lazy cat.


-f執行文件

vim script1.sed

s/brown/green/
s/fox/elephant/
s/dog/cat/

sed -f script1.sed data1.txt


4種替換標記

數字:表面替換第幾處內容

sed 's/test/trial/2' data4.txt

g:替換全部內容

p:打印原先行(-n 禁止sed編輯器輸出,配合p使用只輸出被修改的行)

sed -n 's/test/trial/p' data5.txt

w file:將替換結果寫入文件file

sed 's/test/trial/w test.txt' data4.txt

cat test.txt


特殊字符串替換:\轉義符

    !字符串分隔符


替換特定行:行尋址

sed '2s/dog/cat/' data1.txt

The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy cat.
The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.

sed '2,$s/dog/cat/' data1.txt




(本文爲《LINUX命令行與shell腳本編程大全》學習筆記,不作商用)

發佈了23 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章