文本處理工具之 sed1

概念:默認是行處理正則表達式

sed是流編輯器,一次處理一行內容,把當前處理的行存儲在臨時緩衝區中,稱爲模式空間。接着用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往屏幕,然讀入下行,執下一循環。沒有使用特殊命令,會在兩個循環之間清空模式空間,但不會清空保留空間。直到文件末尾。文件內容並無改變,除非使用重定向定向輸出存儲。默認是打印

                 sed   option  [sed腳本] file

            經常使用選項:

                  -n:不輸出模式空間內容到屏幕,即不自動打印

                        -e:多點編輯

                        -f  /path/script_file       從指定文件中讀取編輯腳本

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

                        -i.bak(後綴能夠本身隨性起)     備份文件並原處編輯

                 地址定界:

                     1.不給地址:對全文進行處理

           2.單地址:

                                        #:指定的行,$:最後一行

                                                        /pattern/:被 此處模式所可以匹配到的每一行

                         3.地址範圍:

                         #,#

                                                     #,+#

                                                     /pat1/,/pat2/

                                                     #,/pat1/

                        4.~: 步進

                      1~2 奇數行

                                                2~2偶數行

                        sed編輯命令:

                            d           刪除模式空間匹配的行,並當即啓用下一輪循

                                             環

                              p           打印當前模式空間內容,追加到默認輸出以後

                              a [\]text   在指定行後面追加文本,支持使用\n實現多行

                                               追加

                              i [\]text     在行前面插入文本

                                c [\]text    替換行爲單行或多行文本

                                w /path/file  保存模式匹配的行至指定文件

                                r /path/file    讀取指定文件的文本至模式空間中匹配到

                                                    的行後

                                =                爲模式空間中的行打印行號 

                                !               模式空間中匹配行取反處理
相關文章
相關標籤/搜索