Linux的sed命令介紹

sed:Stream EDitor,行編輯器:正則表達式

用法:sed [option]... 'script' inputfile...編輯器

這裏先展現/etc/fstab下的內容,後面會用到blog

 

經常使用選項:ip

  • -n:不輸出模式中的內容到屏幕
  • -e:多點編輯
  • -f:/PATH/TO/SCRIPT_FILE:從指定文件中讀取編輯腳本
  • -r:支持使用擴展正則表達式
  • -i:原處編輯

地址定界(在下面編輯命令欄有舉例截圖):input

  • 不給地址:對全文進行處理
  • 單地址:
    • #:指定的行
    • /pattern/:被此處模式所可以匹配到的每一行
  • 地址範圍:
    • #,#:第幾行到第幾行
    • #,+#:第幾行開始,一共幾行
    • /pat1/,/pat2/:第一次出現的知足/pat1/的行到/pat2/行
    • #,/pat/:第幾行到哪一行

編輯命令:it

  • d:刪除。下面舉例說明:
    • 刪除第6行,以下圖,明顯看出第六行消失了
    • 刪除第1到3行
    • 刪除UUID開頭這一行
    • 刪除從第一行開始,一共5行io

    •  刪除從# /etc這行到UUID開頭這行擴展

    • 刪除從第7行到UUID開頭這行sed

  • p:顯示模式空間中的內容:
    • 例如,顯示UUID開頭這一行(這裏會輸出全部模式空間內容,而後再多出一行UUID的)
    • 若是想只輸出咱們想要的,用到上面說的 -nfile

  • a \text:在行後面追加文本,支持使用\n實現多行追加
  • 例如在/dev這一行後面追加hello world !,在全部知足條件的行都執行
  • i  \text:在行前面插入文本,支持使用\n實現多行插入(和上一條效果同樣)
  • c \text:替換行爲單行或多行文本
  • w /path/to/somefile:保存模式空間匹配到的行至指定文件中
  • r /path/from/somefile:讀取指定文件的文本流至模式空間中匹配到的行的行後
  • =:爲模式空間中的行打印行號
  • !:取反條件
  • s///:支持使用其它分隔符,s@@@,s###
    • 替換標記:g:行內全局替換。      p:顯示替換成功的行。
相關文章
相關標籤/搜索