<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] > [參看](https://www.jianshu.com/p/047cde9df09b) ## 概述 處理文件中的文字,如添加,替換等,默認情況把處理的內容輸出到屏幕 格式 ``` sed [options] 'command' file(s) sed [options] -f scriptfile file(s) [options]: -e <script>或--expression=<script>: 以選項中的指定的script來處理輸入的文本文件 -f 已指定的腳本來處理文件 -i :直接編輯文件 -h或--help:顯示幫助 -n或--quiet或--silent:僅顯示script處理后的結果,常與-p命令一起使用表示僅打印輸出那些進行命令操作的行 -v或--version:顯示版本信息 ``` `-i` 用法 ``` sed -i 's/book/books/' demo.log # 將file文件中每一行的第一個book替換為books ``` ## 命令 ### sed命令 ``` a 在當前行下面插入文本。 i 在當前行上面插入文本。 c 把選定的行改為新的文本。 d 刪除,刪除選擇的行。 D 刪除模板塊的第一行。 s 替換指定字符 h 拷貝模板塊的內容到內存中的緩沖區。 H 追加模板塊的內容到內存中的緩沖區。 g 獲得內存緩沖區的內容,并替代當前模板塊中的文本。 G 獲得內存緩沖區的內容,并追加到當前模板塊文本的后面。 l 列表不能打印字符的清單。 n 讀取下一個輸入行,用下一個命令處理新的行而不是用第一個命令。 N 追加下一個輸入行到模板塊后面并在二者間嵌入一個新行,改變當前行號碼。 p 打印模板塊的行。 P (大寫) 打印模板塊的第一行。 q 退出Sed。 b lable 分支到腳本中帶有標記的地方,如果分支不存在則分支到腳本的末尾。 r file 從file中讀行。 t label if分支,從最后一行開始,條件一旦滿足或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。 T label 錯誤分支,從最后一行開始,一旦發生錯誤或者T,t命令,將導致分支到帶有標號的命令處,或者到腳本的末尾。 w file 寫并追加模板塊到file末尾。 W file 寫并追加模板塊的第一行到file末尾。 ! 表示后面的命令對所有沒有被選定的行發生作用。 = 打印當前行號碼。 # 把注釋擴展到下一個換行符以前 ``` ### sed替換標記 ``` g 表示行內全面替換。 p 表示打印行。 w 表示把行寫入一個文件。 x 表示互換模板塊中的文本和緩沖區中的文本。 y 表示把一個字符翻譯為另外的字符(但是不用于正則表達式)。 1 子串匹配標記 。 & 已匹配字符串標記。 ``` 案例 `sed 's/book/books/g' demo.log # 替換file文件每一行中的所有匹配` ### 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的行。 ``` ### 定界符 `/ | : ` 都可以作為定界符 以下腳本相同 ``` sed -i 's|333|444|' 2.txt sed -i 's/333/444/' 2.txt ``` ## 場景 ### 替換文本 `sed 's/book/books/' demo.log # 將file文件中每一行的第一個book替換為books ` ### 全面替換標記g `sed 's/book/books/g' demo.log # 替換file文件每一行中的所有匹配 ` ### 替換文本,并直接修改文件 `sed -i 's/book/books/' demo.log # 將file文件中每一行的第一個book替換為books ` ### 指定行進行操作 ``` sed '/^$/d' file # 刪除空白行 sed '2d' file # 刪除第二行 sed '$d' file # 刪除最后一行 sed '2,$d' file # 刪除第二行到最后一行 sed '/^test/d' # 刪除所有以test開頭的行 sed -i "53cListen 8001" file # 替換53行的數據,反復執行不結果不變 sed -i "53aListen 8001" file # 在追加53行的數據,反復執行,行數增加 ``` ### 已匹配字符串標記& ``` echo this is a test line | sed 's/\w\+/[&]/g' ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看