文本處理sed的使用

語法:sed【option】、、、‘script’ inputfile、、、

選項:

        -n:不輸出模式空間內容到屏幕,即不自動打印
        -e: 多點編輯
        -f:/PATH/SCRIPT_FILE: 從指定文件中讀取編輯腳本
        -r: 支持使用擴展正則表達式
        -i.bak: 備份文件并原處編輯

script:

         地址定界:
                      (1) 不給地址:對全文進行處理
                      (2) 單地址:
                                      #: 指定的行
                                      /pattern/:被此處模式所能夠匹配到的每一行
                      (3) 地址范圍:
                                          #,#
                                          #,+#
                                          /pat1/,/pat2/
                                          #,/pat1/
                      (4) ~:步進
                                      1~2 奇數行
                                      2~2 偶數行
         編輯命令:
                      d: 刪除模式空間匹配的行
                      p: 顯示模式空間中的內容
                      a [\]text:在指定行后面追加文本支持使用\n實現多行追加
                      i[\]text:在行前面插入文本
                      c [\]text:替換行為單行或多行文本
                      w /path/somefile: 保存模式匹配的行至指定文件
                      r /path/somefile:讀取指定文件的文本至模式空間中匹配到的行后
                      =: 為模式空間中的行打印行號
                      !:模式空間中匹配行取反處理
s///:查找替換,支持使用其它分隔符,s@@@,s###
?      替換標記:
                      g: 行內全局替換
                      p: 顯示替換成功的行
                      w /PATH/TO/SOMEFILE:將替換成功的行保存至文件中
高級編輯命令:
                   h: 把模式空間中的內容覆蓋至保持空間中
                   H:把模式空間中的內容追加至保持空間中
                   g: 從保持空間取出數據覆蓋至模式空間
                   G:從保持空間取出內容追加至模式空間
                   x: 把模式空間中的內容與保持空間中的內容進行互換
                   n: 讀取匹配到的行的下一行覆蓋至模式空間
                   N:讀取匹配到的行的下一行追加至模式空間
                   d: 刪除模式空間中的行
                   D:刪除當前模式空間開端至\n的內容(不再傳至標準輸出),放棄之后的命令,但是對剩余模式空間重新執行sed
元字符集:

             ^ 匹配行開始,如:/^sed/匹配所有以sed開頭的行。

             $ 匹配行結束,如:/sed$/匹配所有以sed結尾的行。

             . 匹配一個非換行符的任意字符,如:/s.d/匹配s后接一個任意字符,最后是d。

            * 匹配0個或多個字符,如:/*sed/匹配所有模板是一個或多個空格后緊跟sed的行。

            [] 匹配一個指定范圍內的字符,如/[ss]ed/匹配sed和Sed。

            [^] 匹配一個不在指定范圍內的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一個字母開頭,緊跟ed的行。

            \(..\) 匹配子串,保存匹配的字符,如s/\(love\)able/\1rs,loveable被替換成lovers。

            & 保存搜索字符用來替換其他字符,如s/love/**&**/,love這成**love**。

            \< 匹配單詞的開始。<love 匹配包含以love開頭的單詞的行。

            \> 匹配單詞的結束。

            x\{m\} 重復字符x,m次,如:/0\{5\}/匹配包含5個0的行。

            x\{m,\} 重復字符x,至少m次,如:/0\{5,\}/匹配至少有5個0的行。

            x\{m,n\} 重復字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10個0的行。

原創文章,作者:忠神通,如若轉載,請注明出處:http://www.www58058.com/74538

(0)
忠神通忠神通
上一篇 2017-05-01 16:32
下一篇 2017-05-01 20:15

相關推薦

  • 文本處理和正則表達式練習(0805)

    1、找出ifconfig命令結果中本機的所有IPv4地址     1.1 Centos7     1.2 Centos6 2、查出分區空間使用率的最大百分比值,取各分區利用率的數值 取出各分區數值 取出最大百分比 3、查出用戶UID最大值的用戶名、 UID及shell類型 4、查出/tmp…

    Linux干貨 2016-08-06
  • 硬盤及文件系統基礎概念

    機械硬盤HDD(Mechanical hard disk) 機械硬盤中所有的盤片都裝在一個旋轉軸上,每張盤片之間是平行的,在每個盤片的存儲面上有一個磁頭,磁頭與盤片之間的距離比頭發絲的直徑還小,所有的磁頭聯在一個磁頭控制器上,由磁頭控制器負責各個磁頭的運動。 磁頭(Head): 對硬盤上的數據進行讀寫操作. 磁道(Track) 當磁盤旋轉時,磁頭若保持在一個…

    Linux干貨 2017-04-09
  • varnish淺述

    安裝varnish,安裝包需要到官網下載http://www.varnish-cache.org/releases/index.html varnish的程序環境: /etc/varnish/varnish.params:配置varnish服務進程的工作特性,例如監聽的地址、端口及緩存機制等; /etc/varnish/default.vcl:配置各Chil…

    2016-11-15
  • 自動化運維跟安全配置

    安全相關工具rpm -qf /usr/bin/sshopenssh semanage port -a -t ssh_port_t -p tcp #PORTNUMBER/端口9527修改ssh的默認端口,ssh默認只能用22端口多臺主機互聯免口令1 ssh-keygen三臺主機各自生成私鑰公鑰2 ssh-copy-id IP7三臺主機各自復制公鑰到同一臺主機3…

    2018-02-06
  • Linux初學筆記(markdown格式)

    Linux基礎命令筆記

    Linux干貨 2018-03-26
  • N25_第二周作業

    前言 我們這次使用HAProxy作為負載均衡調度器來實現后端httpd服務的負載均衡和動靜分離,實現將來自用戶的80端口的http請求轉發只后端8080端口的server服務 HAProxy介紹 HAProxy的是一個免費的,非??焖俸涂煽康慕鉀Q方案,提供高可用性,負載均衡和代理對TCP和HTTP的應用程序。它特別適用于非常高流量網站。多年來,它已成為標準的…

    Linux干貨 2016-12-12
欧美性久久久久