Shell中的sed命令

語法

sed [-hnV] [-e<script>] [-f<script文件>] [文本文件]express

參數說明:

  • -e<script>--expression=<script> 以選項中指定的script來處理輸入的文本文件。
  • -f<script文件>--file=<script文件> 以選項中指定的script文件來處理輸入的文本文件。
  • -h--help 顯示幫助。
  • -n--quiet或--silent 僅顯示script處理後的結果。
  • -V--version 顯示版本信息。

動做說明:

  • a :新增, a 的後面能夠接字串,而這些字串會在新的一行出現(目前的下一行)~
  • c :取代, c 的後面能夠接字串,這些字串能夠取代 n1,n2 之間的行!
  • d :刪除,由於是刪除啊,因此 d 後面一般不接任何咚咚;
  • i :插入, i 的後面能夠接字串,而這些字串會在新的一行出現(目前的上一行);
  • p :列印,亦即將某個選擇的數據印出。一般 p 會與參數 sed -n 一塊兒運行~
  • s :取代,能夠直接進行取代的工做哩!一般這個 s 的動做能夠搭配正規表示法!例如 1,20s/old/new/g 就是啦!

示例

  • sed [-i] 4a\strings file

在file文件的第4行後插入一行,內容爲strings,新內容在第5行ui

-i : 若是有-i的時候表示直接在file文件上修改,不然只是臨時修改code

  • sed [-i] '1,5d' file

刪除文件file的1-5行,也能夠爲sed 2d file表示刪除第2行;ip

-i : 若是有-i的時候表示直接在file文件上修改,不然只是臨時修改字符串

  • sed [-i] '4i cccccc' file

在文件file的第4行以前插入一行字符串cccccc;string

-i : 若是有-i的時候表示直接在file文件上修改,不然只是臨時修改io

  • sed [-i] '4,6c aaaaa' file

將文件file的第4-6行的內容替換成aaaaa字符串,也能夠sed '4c aaaa'即將第4行替換成aaaa;sed

-i : 若是有-i的時候表示直接在file文件上修改,不然只是臨時修改file

  • sed [-i] -n '4,6p' file

輸出file文件的4-6行語法

-i : 若是有-i的時候表示直接在file文件上修改,不然只是臨時修改

  • sed [-i] -n '/string/p' file

只輸出包含string的行;

-i : 若是有-i的時候表示直接在file文件上修改,不然只是臨時修改

  • sed [-i] '/string/d' file

刪除包含string的行;

-i : 若是有-i的時候表示直接在file文件上修改,不然只是臨時修改

  • sed [-i] 's/string1/string2/g' file

將file文件的全部string1替換成string2;

-i : 若是有-i的時候表示直接在file文件上修改,不然只是臨時修改

相關文章
相關標籤/搜索