文本處理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
下一篇 2017-05-01

相關推薦

  • Linux發行版概述

    Linux發行版概述 Linux發行版有數百種之多,最主流的三個分支為Debain、Slackware、RedHat Debain Debain是三大主流發行版中唯一由社區維護的版本,無商業版本,相對較為輕巧,對使用者的技術要求較高 * Ubuntu、Knopix為Debian的主要子分支,其中Knopix是以安全著稱的 Slackware(SUSE) SU…

    Linux干貨 2017-07-02
  • Linux基礎命令 2017-07-12日課

    bc, lscpu, free, dd, rpm, lsblk, ldd, file, hexdump, uname, sha1sum, sha256sum, md5sum bc an arbitrary precision language scale=NUM ; precision quit lscpu display information about…

    Linux干貨 2017-07-12
  • AWK——文本處理三劍客

    GNU awk ·文本處理三工具:grep,sed,awk          grep,egrep,fgrep:文本過濾工具:pattern          sed:行編輯器  &nbsp…

    Linux干貨 2016-09-20
  • RHCE基礎實驗

    實驗:配額實現 1. 啟用配額功能 vim /etc/fstab defaults usrquota,grpquota mount -o remount /home 2. 創建配額數據庫 quotacheck -cug /home 3. 啟用數據庫 quotaon /home quotaon -p /home 查看 4. edquota wang setqu…

    Linux干貨 2017-05-02
  • 馬哥教育網絡班21期-第八周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:是將廣播域劃分為多個小的沖突域,但廣播域沒有變。工作在OSI模型的數據鏈路層,端口很少;基于軟件;可以處理上層事務。集線器:對接收到的信號進行再生整形放大,擴大網絡傳輸距離;屬于純硬件網絡底層設備,工作在OSI模型的物理層,不具有交換機的”智能記憶”和”學習”的能力;也不具…

    Linux干貨 2016-08-29
  • Linux三劍客之sed

    sed 簡介 sed 工作原理 命令格式 常用選項: 地址定界: 編輯命令: 替換標記: sed元字符集(正則表達式) 高級編輯命令: sed用法實例 作業: 選定行的范圍:,(逗號) 刪除操作:d命令 顯示模式空間內容 追加(行下):a\命令 插入(行上):i\命令 退出:q命令 多點編輯:e命令 從文件讀入:r命令 寫入文件:w命令 替換操作:s命令 替…

    Linux干貨 2016-08-11
欧美性久久久久