linux sed删除指定行_shell三剑客之sed!
背景
sed(Stream Editor 流編輯器),作為三劍客的一份子,主要的功能有增刪改查。
為什么稱之為“流”編輯器呢?
大家知道:在Linux文件系統中,一切都可以作為文件來處理。
比如:配置文件、設備文件、日志等等。
sed就類似于工廠流水線作業的車間一樣,文件中的每行內容都是生產元件,經過sed車間流水線處理,最終會變成成品。
sed語法格式
同grep一樣,sed提供兩種方式:
◆?stdout | sed [option] “pattern command”
◆ sed [option] “pattern command” file
第一種是從文本中直接使用pattern匹配搜索
第二種是從標準輸出中處理
選項
pattern匹配模式
sed命令-增加&刪除
練習:
單行插入
多行插入
刪除內容
sed命令-修改
◆ “#”作為定界符,“/”也可以作為定界符,當替換內容有包含定界符時,需要進行轉義
◆ 如果要修改文件內容,需要加“-i”參數
練習:
修改文件內容,不對源文件起效
修改源文件內容
修改文件指定行對應的內容
sed分組替換功能
正則表達式中的分組功能sed也是可以支持的,用()記住正則表達式的一部分,其中,\1為第一個小括號里面的內容,如果還有其他的下括號,那么\2即可第二個,以此類推...,最多記住9個。
實例: I am yy teacher.這串文本想要保留yy,刪除剩余的部分
給配置文件中某一項配置加注釋
sed命令-查詢
查詢相比較是最簡單的,sed中的查詢相比cat、more命令可以更加精細。
例如:
查詢文件第二行內容(p即表示查詢)
查詢文件1-10行
注意:p查詢命令需要和-n參數結合一起使用,如果不使用-n 會輸出原來行內容及匹配行的內容,-n表示取消原來行輸出
綜合實例
用sed取出Linux網卡eth0的IP地址
將/etc/passwd文件中非單詞字符替換成空格
問題?使用單引號or雙引號區別?
◆ 雙引號把雙引號的內容輸出出來;如果內容中有命令,變量等,會先把命令,變量解析出結果,然后再輸出最終內容來。雙引號內命令或變量的寫法為命令或變量或$(命令或變量)。
◆ 單引號所見即所得,將單引號內的內容原樣輸出,阻止所有字符的轉義。
本文由檸檬班歪歪原創,轉載需注明出處!
轉發到朋友圈是最高的贊賞
關注檸檬班微信公眾號
領取100G軟件測試資料
讓軟件測試學習變得更簡單!
Shell腳本如何備份數據庫?掃碼即可獲取解題視頻
一言不合就給我在看
總結
以上是生活随笔為你收集整理的linux sed删除指定行_shell三剑客之sed!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动安装与配置复制batch脚本
- 下一篇: 华为手机什么时候更新鸿蒙系统_华为鸿蒙系