sed 文本處理工具介紹

sed簡介:

文本處理三劍客之一的sed

sed是一種行編輯器,它一次處理一行內容,本身是一個管道命令,對行的數據進行 替換 增加 刪除 選取的工作

sed的命令為:sed[opition] ‘script’ inputfile…

                                     ‘地址命令’

常用的選項:

         -n 不輸出模式空間內容到屏幕

         -e 多點編輯

         -r 支持使用擴展正則表達式

         -i.bak 備份文件并原處編輯

常用命令:
        a ∶ 新增, a 的后面可以接字串,而這些字串會在新的一行出現(目前的下一行)
        c ∶ 取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行
        d ∶ 刪除,因為是刪除,所以 d 后面通常不接任何內容
         i ∶ 插入, i 的后面可以接字串,而這些字串會在新的一行出現(目前的上一行)
         p∶ 列印,亦即將某個選擇的資料印出。通常 p 會與參數 sed -n 一起用
         s∶ 取代,可以直接進行替換的工作。通常這個 s 的動作可以搭配正則表達式。

地址定界:

        1.(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 :讀取指定文件的文本至 模式空間中
        匹配 到的行后
        =:  為模式空間中的行打印行號
        !: 模式空間中匹配行取反處理

sed工具
      s/// :查找替換, 支持使用其它分隔符,s@@@ ,s###
      替換標記:
      g:  行內全局替換
      p:  顯示替換成功的行
      w  /PATH/TO/SOMEFILE :將替換成功的 行 保存至文件中

如果沒有定址,sed將對全文進行處理

舉例:[本次我們有一個文件f1] 定義了五行內容

sed 文本處理工具介紹
  如:只顯示第三行 sed -n ‘3p’ f1

sed 文本處理工具介紹 

 只看文件第1行和第3行之間的文件

sed 文本處理工具介紹

 刪除第1行的文件

 sed 文本處理工具介紹
a與i 比較相似i是前插a是后加:

sed 文本處理工具介紹

 而且還有三個取它們它們分別代表不同的意思:

c :整行替換或文本

g:全局替換

s:可跟正則表達式

sed 文本處理工具介紹

sed 文本處理工具介紹

  其次sed工具還有些高級編輯命令:

            h:  把模式空間中的內容覆蓋至保持空間中
            H :把模式空間中的內容追加至保持空間中
           g:  從保持空間取出數據覆蓋至模式空間
           G :從保持空間取出內容追加至模式空間
           x:  把模式空間中的內容與保持空間中的內容進行互換
          n:  讀取匹配到的行的下一行 覆蓋 至模式空間
          N :讀取匹配到的行的下一行 追加 至模式空間
         d:  刪除模式空間中的行
         D :刪除 當前模式空間開端至\n 的內容( 不再傳 至標準輸
         出),放棄之后的命令,但是對剩余模式空間重新執行sed 

                     sed -n ‘n;p’ FILE

sed 文本處理工具介紹

                     sed ‘1!G;h;$!d’ FI LE
                     sed ‘N;D‘ FILE
                     sed ‘$!N;$!D’ FILE
                     sed ‘$!d’ FILE
                     sed ‘G’ FILE
                     sed ‘g’ FILE
                     sed ‘/^$/d;G’ FILE
                     sed ‘n;d’ FILE
                     sed -n ‘1!G;h;$p’ FILE




原創文章,作者:gd1479,如若轉載,請注明出處:http://www.www58058.com/78447

(0)
gd1479gd1479
上一篇 2017-06-24 15:15
下一篇 2017-06-24 16:08

相關推薦

  • 網絡服務基礎理論

    最近學習了有關網絡管理的有關知識,所以給也在學習這些知識的童鞋分享一下我的一些經驗。 聽了這幾天課,總結了幾個前提。 有關網絡的通信均是基于數據傳輸的,且數據均是二進制格式的流式數據。 在網絡中需要把大包分成小包, 每傳一個包都需要有三個地址,由內向外為端口號、IP地址、MAC地址。端口號確定應用,IP確定網段,MAC確定廣播域中的某個網卡。 OSI模型 &…

    Linux干貨 2017-09-01
  • 文件系統管理

                                高級文件系統管理 磁盤配額 控制用戶在一個分區上使用多大的空間。 操作步驟: 1、創建一個10G的分區 /dev/sdc1并將其格式化,掛載 2、如果是新…

    Linux干貨 2016-08-29
  • 互聯網安全之iptables/netfilter入門到進階

    隨著互聯網技術的方興未艾,各種網絡應用層出不窮,網絡攻擊、黑客入侵也成了網民暢游互聯網的心頭大患,互聯網安全也愈加受到了人們的重視。網絡防火墻,作為一種簡單高效的互聯網防御手段,逐漸成為了網民暢游網絡世界的保護傘。下面筆者介紹下Linux系統的守衛者——iptables/netfilter。 ?一 兄弟齊心,其利斷金 ?iptables/netfilter就…

    Linux干貨 2017-05-06
  • 計算機的組成介紹

    一,什么是計算機?     計算機(computer)俗稱電腦,是現代一種用于高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。 二,發展歷史 階段 時期(年) 主要器件 特征 應用領域發展 第一代 1946—1958 電子管數字機 電子管,機…

    2016-10-29
  • Linux文件類型及顏色標示

    在Linux系統中,有多種文件類型,不同的文件類型有不同的顏色。 ls -l 目錄,這個命令可以在顯示的類容中的第一個位置查看目錄里面文件的類型。 Linux下用字符表示的文件類型 -:普通文件 d:目錄文件 l:鏈接文件 b:塊設備文件 c:字符設備文件 p:管道文件 同時 白色:表示普通文件 藍色:表示目錄 綠色:表示可執行文件 紅色:表示壓縮文件 淺藍…

    Linux干貨 2016-10-17
  • vim編輯器

    vim編輯器 vi:Vistual Interface,是一種文本編輯器,所謂文本編輯器就是基于字符編碼的文件,常見的編碼有ASCLL編碼,UNICODE編碼。 vim:即vi IMproved:vi的增強版,可以使用顏色或者底線等方式來顯示一些特殊信息,是模式化的編輯。 文本編輯器的種類 行編輯器:所謂行編輯器就是一行一行來編輯處理的工具,如sed 全屏編…

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