[Linux] Sed命令筆記

Sed是用來處理流字串的命令


sed介紹:

sed -- stream editor
對文件或者某種輸入字串進行處理。
根據我使用sed和awk這兩個命令,個人感覺sed是專門用來處理文本行的,awk的話可以對sed做不到的地方進行擴展,如果有錯誤的地方謝謝指正。

sed語法結構:

sed [-Ealn] command [file ...]
sed [-Ealn] [-e command] [-f command_file] [-i extension] [file ...]

sed參數和結構:

-e 用來使用多個命令的參數
-n 不輸出任何東西除非找到需要輸出的東西
-f 用來跟文件類型的腳本
-v 查看版本
-h –hlep
-p 通過正則標準化輸出
在 ‘/[addr1]/[addr2]’

[addr1] 可以是s 替換,d 刪除等
[addr2]可以爲
-r read 讀取
-w write 寫到某個文件
-i insert 插入
-I Ignore 忽視大小寫
-c change a line 改變一行
-g global 全部


sed例子:

  • s用來替換字符串
☁  Ch02 [master] ⚡ sed s/Mon/re_Mon/g sedTest
re_Monday
re_Monday
Tuesday
Wed
Thu
Fri
Jason
  • -n和-p的使用
☁  Ch02 [master] ⚡ cat sedTest
Monday
Monday
Tuesday
Wed
Thu
Fri
Jason
☁  Ch02 [master] ⚡ sed /Mon/p sedTest
Monday
Monday
Monday
Monday
Tuesday
Wed
Thu
Fri
Jason
☁  Ch02 [master] ⚡ sed -n /Mon/p sedTest
Monday
Monday
☁  Ch02 [master] ⚡ sed 2,5p sedTest
Monday
Monday
Monday
Tuesday
Tuesday
Wed
Wed
Thu
Thu
Fri
Jason
☁  Ch02 [master] ⚡ sed -n 2,5p sedTest
Monday
Tuesday
Wed
Thu

這個能匹配正則表達式,通過正則表達式來顯示文件的內容
- -d刪除

☁  Ch02 [master] ⚡ sed 1,2d sedTest
Tuesday
Wed
Thu
Fri
Jason
☁  Ch02 [master] ⚡ sed /Monday/d sedTest
Tuesday
Wed
Thu
Fri
Jason

-e多條命令

☁  Ch02 [master] ⚡ sed -n -e 2,4p -e 5,6p sedTest
Monday
Tuesday
Wed
Thu
Fri

好像是需要翻牆觀看
Sed
Sed Wiki

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章