<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 操作系統 > Linux教程 > linux shell的sed命令詳解

        linux shell的sed命令詳解

        時間: 佳洲1085 分享

        linux shell的sed命令詳解

          linux shell命令下的sed命令其實就是一個功能強大的編輯器工具,下面由學習啦小編為大家整理了linux shell之sed命令的相關知識,希望對大家有幫助!

          linux shell之sed命令詳解

          說明:

          sed是stream editor(流編輯器)的縮寫。它能夠完美匹配正則表達式。sed和awk是文件編輯最重要的兩個命令了。尤其涉及到了很多正則表達式的問題,筆者不敢也有點犯怵,試著寫寫。

          linux shell之sed命令實例

          1.替換文件中的字符串

          $sed -i 's/text/replace/g' file

          #如果不加g結尾,則替換每一行的第一個

          #如果只是打印,去掉-i

          2.忽略前N處匹配,從N+1出開始替換

          $sed -i 's/text/replace/2g' file

          #在g前面加入數字N

          3.移除空白符

          $sed '/^$/d' file

          4.標記已匹配的內容

          $echo this is an example | sed 's:\w\+:/[&]:g'

          [this] [is] [an] [example]

          #冒號是定界符,只要合適,定界符可以是任意的

          5.子串匹配

          $echo this is digit 7 in a number | sed 's:digit \(0-9\): class="main">

        學習啦 > 學習電腦 > 操作系統 > Linux教程 > linux shell的sed命令詳解

        linux shell的sed命令詳解

        時間: 佳洲1085 分享

          #輸出:this is 7 in a number

          #學過正則表達式的人,都理解group的概念,()里的內容是第一組,所以只打印了7

          6.引用

          $text=hello

          $echo hello world | sed "s/$text/HELLO"

          #輸出HELLO world

          #可能有人注意用雙引號,是因為單引號會把$text當做一個字符串,而不是表達式。

          7.刪除

          $sed '2d' file #刪除第二行

          $sed '2,$d' file #刪除2-最后一行

          $sed '$d' file #刪除最后一行

          解讀—help

          用法: sed [選項]... {腳本(如果沒有其他腳本)} [輸入文件]...

          -n, --quiet, --silent

          取消自動打印模式空間

          -e 腳本, --expression=腳本

          添加“腳本”到程序的運行列表

          -f 腳本文件, --file=腳本文件

          添加“腳本文件”到程序的運行列表

          --follow-symlinks

          直接修改文件時跟隨軟鏈接

          -i[擴展名], --in-place[=擴展名]

          直接修改文件(如果指定擴展名就備份文件)

          -l N, --line-length=N

          指定“l”命令的換行期望長度

          --posix

          關閉所有 GNU 擴展

          -r, --regexp-extended

          在腳本中使用擴展正則表達式

          -s, --separate

          將輸入文件視為各個獨立的文件而不是一個長的連續輸入

          -u, --unbuffered

          從輸入文件讀取最少的數據,更頻繁的刷新輸出

          --help 打印幫助并退出

          --version 輸出版本信息并退出

          如果沒有 -e, --expression, -f 或 --file 選項,那么第一個非選項參數被視為

          sed腳本。其他非選項參數被視為輸入文件,如果沒有輸入文件,那么程序將從標準

          輸入讀取數據。

          解讀:

          對于這個幫助信息,確實信息量非常不足,不過sed確實過于復雜,所以嘗試分成幾次來詳解這個命令。

          我再借用另一段幫助信息文檔

          調用sed命令有兩種形式:

          sed [options] 'command' file(s)

          sed [options] -f scriptfile file(s)

          options

          a\ 例如:sed "a\mm" file

          在當前行后面加入一行文本。

          b lable

          分支到腳本中帶有標記的地方,如果分支不存在則分支到腳本的末尾。

          c\

          用新的文本改變本行的文本。

          d

          從模板塊(Pattern space)位置刪除行。

          D

          刪除模板塊的第一行。

          i\

          在當前行上面插入文本。

          h

          拷貝模板塊的內容到內存中的緩沖區。

          H

          追加模板塊的內容到內存中的緩沖區

          g

          獲得內存緩沖區的內容,并替代當前模板塊中的文本。

          G

          獲得內存緩沖區的內容,并追加到當前模板塊文本的后面。

          l

          列表不能打印字符的清單。

          n

          讀取下一個輸入行,用下一個命令處理新的行而不是用第一個命令。

          N

          追加下一個輸入行到模板塊后面并在二者間嵌入一個新行,改變當前行號碼。

          p

          打印模板塊的行。

          P(大寫)

          打印模板塊的第一行。

          q

          退出Sed。

          r file

          從file中讀行。

          t label

          if分支,從最后一行開始,條件一旦滿足或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。

          T label

          錯誤分支,從最后一行開始,一旦發生錯誤或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。

          w file

          寫并追加模板塊到file末尾。

          W file

          寫并追加模板塊的第一行到file末尾。

          !

          表示后面的命令對所有沒有被選定的行發生作用。

          s/re/string

          用string替換正則表達式re。

          =

          打印當前行號碼。

          #

          把注釋擴展到下一個換行符以前。

          以下的是替換標記

          g表示行內全面替換。

          p表示打印行。

          w表示把行寫入一個文件。

          x表示互換模板塊中的文本和緩沖區中的文本。

          y表示把一個字符翻譯為另外的字符(但是不用于正則表達式)

          區別加斜桿與不加

          例如: a\ 表示在a\后面加入內容,而d則在d前面加入表達式,1d表示刪除1行。

        3632102 主站蜘蛛池模板: 尤物视频在线播放你懂的| 国产麻豆天美果冻无码视频| 三级网站| 日韩欧美视频一区二区三区| 国产精品国产三级国av| 国产精品国产精品无卡区| 在线一区二区中文字幕| 精品国产精品午夜福利| AV老司机AV天堂| 福利一区二区不卡国产| 中文字幕在线制服丝袜| 亚洲经典一区二区三区四区| 伊人亚洲综合网色| 亚在线观看免费视频入口| 国产一区二区精品久久呦| 国产迷姦播放在线观看| 亚洲精品欧美综合二区| 亚洲欧美在线观看品| av在线播放无码线| 久久久亚洲欧洲日产国码是av | 疯狂做受XXXX高潮国产| 91在线国内在线播放老师| 久久人人97超碰精品| av一区二区三区亚洲| 日本亚洲欧洲另类图片| 精品国产久一区二区三区| 中文国产成人精品久久不卡| 国产三级视频网站| 极品人妻少妇一区二区三区| 蜜臀av午夜精品福利| 国产老头多毛Gay老年男| 国产一区二区三区色视频| 久久月本道色综合久久| 欧美亚洲综合成人A∨在线| 美女的胸www又黄的网站| 欧美国产日韩亚洲中文| 国产美女久久久亚洲综合| 久久精品视频一二三四区| 成人三级视频在线观看不卡 | 国产亚洲AV电影院之毛片| 欧美日本国产va高清cabal|