sed流式編輯器

來源:互聯網
上載者:User

sed流式編輯器 sed是一個流式編輯器(stream editor)。 在sed中,pattern space和hold space為兩個緩衝區,開始時資料由標準輸入被讀入pattern space,經過處理輸出到標準輸出。hold space只是一個輔助處理的緩衝區,有些命令可以對hold space緩衝區操作,比如H,h,g,G等。 sed [OPTION]... {script-only-if-no-other-script} [input-file]... 這是命令的標準格式: 描述:sed是一個流式編輯器,流式編輯器用來處理對一個輸入 流進行處理。就像很多運行指令碼編輯的編輯器一樣,sed只處理一行輸入,因此更高效。但是sed在管道中過濾文本的作用使它明顯區別於其他類型編輯器。 -n, --quiet, --silent 抑制pattern space的自動輸出功能 -e script, --expression=script 把script加入到執行命令中 -f script-file, --file=script-file 命令輸入來源為檔案 -i[SUFFIX], --in-place[=SUFFIX] 原地編輯 -l N, --line-length=N 設定自動換行的長度 --posix 關閉所有GNU擴充 -r, --regexp-extended 應用擴充的Regex -s, --separate 把多個檔案當做多個流  -u, --unbuffered 每次從檔案讀入更少資料更頻繁的flush到輸出 如果沒有-e 或者-f選項,第一個非選項參數作為sed指令碼運行。其餘所有的參數都為輸入檔案,如果沒有輸入檔案,從標準輸入讀取。 COMMAND SYNOPSIS這隻是一個sed的簡明教程 零地址命令: :label 為 b 和 t命令用的label #comment 直到下一行命令都為注釋(或者-e 命令的末尾) 零或者一個地址命令: = 列印當前行號 a text: 加入text,可以用反斜線換行 i text: 插入text,可以用反斜線換行 q 立即退出sed指令碼不處理任何更多的輸入,但如果沒有禁用自動列印,將列印當前模式空間。 Q 立即退出sed指令碼不處理任何更多的輸入 r filename 加入從filename讀入的text R filename 加入從filaname讀入一行資料 Commands which accept address rangesb label               Branch to label; if label is omitted, branch to end of script. 跳轉到label執行,如果沒有就到最後  t label               If a s/// has done a successful substitution since the last input line was  read  and               since  the  last t or T command, then branch to label; if label is omitted, branch to               end of script.  自從上次輸入或者上次T/t命令後s替換命令執行成功,跳轉到label,沒喲label,到最後   T label              If no s/// has done a successful substitution since the last input line was read  and              since  the  last t or T command, then branch to label; if label is omitted, branch to              end of script.自從上次輸入或者上次T/t命令後s替換命令執行不成功,跳轉到label,沒喲label,到最後 c text: 替換text,可以用反斜線換行 d 從下一個迴圈開始刪除pattern space D刪除pattern space的第一行,如果其中有資料繼續處理,否則從讀取輸入 h H    Copy/append pattern space to hold space.        g G    Copy/append hold space to pattern space. x      Exchange the contents of the hold and pattern spaces. l      List out the current line in a ''visually unambiguous'' form.明確列出當前行號        n N    Read/append the next line of input into the pattern space.        p      Print the current pattern space.        P      Print up to the first embedded newline of the current pattern space.        w filename              Write the current pattern space to filename.         W filename              Write the first line of the current pattern space to filename.s/regexp/replacement/              Attempt to match regexp against the pattern space.  If successful, replace that  por-              tion  matched  with replacement.  The replacement may contain the special character &              to refer to that portion of the pattern space which matched, and the special  escapes              \1 through \9 to refer to the corresponding matching sub-expressions in the regexp.用replacement替換regexp匹配的欄位,replacement中可能包含&字元代指與regexp匹配的字串,用\1到\9代指相應匹配的子段 y/source/dest/              Transliterate  the characters in the pattern space which appear in source to the cor-              responding character in dest. Addresses如果一個地址參數也沒有,對所有行進行處理,如果有一個地址,對哪一行進行處理,如果有兩個地址,對兩行之間的行處理,哪怕參數2小於參數1,如果地址2是一個Regex,不會匹配第一個參數行。 前面加!符號,反向選擇 number 具體一行  first~step 從first行開始的步長為step的行 $ 最後一行  /regexp/ 與此Regex匹配的一行 \cregexpc  c可以為任何字元,同上,只不過把換一種形式 addr1,+N 從addr1開始的N行 addr1,~N 從addr1開始的N的整數倍行

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.