linux命令-sed

sed :stream editor for filtering and transforming text  流編輯器文本轉換工具

sed不適用-i的情況下,不對源文件做修改,只將處理結果打印至屏幕,使用-i時將直接修改源文件,屬於危險做法,用於腳本中修改配置文件,初學者不建議。

sed使用方法:

    sed範圍修改打印:

        直接打印文件第四行:sed -n‘4p’path_to_file

        只刪除第四行至下一行的數據(包括下一個空行),打印其他數據 :sed ‘4,/^$/d’ /path_to_file

        不打印第四行至下一行的數據(包括下一個空行) :sed -n ‘4,/^$/!p' /path_to_file

        只顯示第四行到下一個空行的數據(包括下一個空行)不刪除只打印這些 :sed ‘4,/^$/!d' /path_to_file

        第一次被pattern匹配到的行開始,到第二次被pattern匹配到的行結束,中間的所有行 :/Pattern1/,/Pattern2/

   sed參數:

           -n :--quiet, --silent :靜默模式 不再默認顯示模式中的內容

           -r :use extended regular expressions in the script.使用擴展正則表達式

   sed替換:

          sed -r 's/regexp/replacement/g' /path_to_file  :sed -r 's/[[:space:]]+//g' file 去掉行首的空白字符

          sed檢索合並實例:cat /etc/inittab |sed -r 's/^#//g;s/^[[:space:]]+//g;/^$/d' :去掉文件inittab文件中的開頭的#號,開頭的空白字符以及空行

    sed將範圍內某個單詞修改或去掉 :sed -i '2,3s/\<nameserver\> //g' /etc/resolv.conf  :

將2至3行的nameserver去掉

    sed加修飾符:g:全局替換

                 i:忽略字符大小寫

    sed後向應用:

                 sed ‘s#\(pattern\)#\1XX#g’ file        

    sed其他:a \string:在指定的行後面追加新行,內容爲“string”

             i \string  :在指定的行前面添加新行,內容爲“srting”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章