sed

sed 是一種非交談式的串流編輯語言,因為它可以充份地來展示正規表示式,因此,我們要開始來介紹它。

sed 的作用格式

sed '樣式命令' 檔案

sed 的作用法 1

sed '1,4d' dataf1

意為:把第 1 至第 4 列刪除,剩下的顯示出來。

sed 的作用法 2

sed '/La/d' dataf3

意為:把含有 La 的列刪除,剩下的顯示出來。

sed '/[0-9]\{3\}/d' dataf3

意為:把含有 3個數字 的列刪除,剩下的顯示出來。

[0-9]\{3\} 為正規表示式,/ / 表搜尋,d 表示執行刪除的動作。

sed '/^$/d' ttt

把 ttt 檔案中的空白列刪除。

sed 的作用法 3

sed '/La/!d' dataf3

意為:把不含有 La 的列刪除,剩下的顯示出來。

sed 的作用法 4

sed '/La/p' dataf3

意為:把含有 La 的列秀出。

sed 預設也會把不符合的秀出,所以我們要用以下:

sed -n '/La/p' dataf3

-n 是抑制預設秀出全部的動作

sed 的作用法 5

sed -n 's/La/Oo/p' dataf3

-s 是取代的意思,把 La 換成 Oo

上面只會換一個 La 而已

sed -n 's/La/Oo/gp' dataf3

g 是全部的意思,把 La 全換成 Oo

sed -n 's/La//p' dataf3

把每一列第一個出現的 La 刪除

sed 's/^...//' dataf3

把每一列開頭 3 個字元刪除

sed 's/...$//' dataf3

把每一列末尾 3 個字元刪除

sed 的作用法 6

sed -n 's/\(La\)/\1Oo/p' dataf3

把找到的 La 存起來,用 \1 取回來使用

sed 的作用法 7

sed -n '/AAA/s/234/567/p' dataf3

找到含有 AAA 的那一列之後,將 234 換成 567

sed -n '/AAA/,/DDD/s/B/567/p' dataf3

含有 AAA 一直到含有 DDD 的那幾列,皆將其中的 B 換成 567

sed -n '2,4s/B/567/p' dataf3

由第 2 列到第 4 列,皆將其中的 B 換成 567