<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      sed 命令詳解

      sed 正則表達(dá)式特點(diǎn)
      1)sed 文本工具支持:BREs、EREs
        sed 指令默認(rèn)是使用"BREs"
        sed 命令參數(shù) “-r ” ,則表示要使用“EREs"
      2)sed 功能與作用
        a. sed 處理的對(duì)象:文本文件
        b. sed 處理操作:對(duì)文本文件的內(nèi)容進(jìn)行 --- 查找、替換、刪除、增加等操作
        c. sed 在處理文本文件的時(shí)候,也是按行處理的
      sed 格式:sed 選項(xiàng) '位置命令(哪些位置做什么操作)' 讀入的文件

      常用選項(xiàng):
        -n 不輸出模式空間內(nèi)容到屏幕,即不自動(dòng)打印
        -e 多點(diǎn)編輯
        -r 支持使用擴(kuò)展正則表達(dá)式
        -i.bak 備份文件并原處編輯

             -i 不備份文件并修改

      位置定界:
        (1) 不給地址:對(duì)全文進(jìn)行處理
        (2) 單地址:
          #:指定的行,$:最后一行
          /pattern/:被此處模式所能夠匹配到的每一行
        (3) 地址范圍:
          #,#
          #,+#
          /pat1/,/pat2/
          #,/pat1/
      編輯命令:
        d 刪除模式空間匹配的行,并立即啟用下一輪循環(huán)
        p 打印當(dāng)前模式空間內(nèi)容,追加到默認(rèn)輸出之后
        a [\]text 在指定行的下一行追加文本,支持使用\n實(shí)現(xiàn)多行追加
        i [\]text 在指定行的上一行插入文本
        c [\]text 替換行為單行或多行文本
        w /path/file 保存模式匹配的行至指定文件
        r /path/file 讀取指定文件的文本至模式空間中匹配到的行后
        = 為模式空間中的行打印行號(hào)
        ! 模式空間中匹配行取反處理


      sed工具還有一個(gè)專門用于搜索替換的 (可以不用位置直接使用,也可以在指定位置后面,當(dāng)做命令使用)
        格式:s/// 查找替換,支持使用其它分隔符,s@@@,s###
        替換標(biāo)記:
          g 行內(nèi)全局替換
          p 顯示替換成功的行
          w /PATH/FILE 將替換成功的行保存至文件中

      sed 工作原理,每次讀取文本中的一行,也是逐行處理,將讀取的一行放到“模式空間”,進(jìn)行處理,比如查看,打印,修改等,然后就在“模式空間”把這一行刪掉,然后再加載下面一行。在模式空間中,默認(rèn)的不需要做什么操作,就會(huì)自動(dòng)把這一行打印出來(lái)。相當(dāng)于模式空間中內(nèi)置了 print操作。
        sed 格式:sed 選項(xiàng) '位置命令(哪些位置做什么操作)' 讀入的文件
          sed '' /etc/passwd //沒(méi)有選項(xiàng),沒(méi)有位置,默認(rèn)就是全文,沒(méi)有操作,默認(rèn)就是打印的操作。所以就會(huì)把/etc/passwd 文件內(nèi)容全部打印出來(lái)
          sed 支持管道的,也就是可以把命令的執(zhí)行結(jié)果傳給sed。 ifconfig eth0 | sed -n '2p' //位置2,操作是p。打印第二行
          位置格式除了,固定的位置,也可以使用正則表達(dá)式來(lái)匹配相應(yīng)的位置 sed -n '/^U/p' /etc/fstab // 以U開(kāi)頭的行,打印

        位置也可以使用一個(gè)地址范圍,比如 從第幾行到第幾行,從第幾行往后幾行,從一個(gè)模式到另一個(gè)模式中間的幾行,從第幾行到符合模式的行的中間
        seq 10 | sed -n '3,5p' ///打印第三行到第五行的內(nèi)容。

      例子

      sed -n '/^b/,/^f/p' //-n 關(guān)閉自動(dòng)打印,顯示b開(kāi)頭 與f開(kāi)頭之間的行 面試題,找出幾點(diǎn)幾分到幾點(diǎn)幾分的日志信息

      sed '/^#/d' /etc/fstab //位置是以#號(hào)開(kāi)頭的行,操作是d刪除。 以#開(kāi)頭的行 不顯示 ,這些只是顯示結(jié)果,不會(huì)改變文件的內(nèi)容
      sed '/^#/d' /etc/fstab |sed '/^$/d' //不顯示#號(hào)開(kāi)頭的行,并且不顯示空行
      sed '/^#/d;/^$/d' /etc/fstab //使用兩個(gè)正則表達(dá)式條件,不顯示#號(hào)開(kāi)頭的行,并且不顯示空行
      seq 10 | sed -n '1~2p' //步進(jìn) 1~2 奇數(shù)行 2~2 偶數(shù)行
      sed -n '2p' sed -n '$p'
      sed 10|sed '1~2a line' //位置是1~2,操作是a line 表示在匹配的行的下一行追加line
      sed -i.bak '/^root/a line firename' //在 root開(kāi)頭的行的下一行追加一行firename -i 會(huì)把修改的內(nèi)容寫(xiě)到文件里。 -i.bak 是先把文件備份成.bak后綴,然后再修改源文件
      sed -i.bak '/^Listen/a listen 8080' /etc/httpd/conf/httpd.conf //先把httpd.conf 備份成.bak文件,然后再源文件的Listen開(kāi)頭的行,下一行添加listen 8080
      sed -i.bak '/^Listen/i listen 8080' /etc/httpd/conf/httpd.conf //操作i 是在匹配行的上一行添加


      sed -i.bak '/^Listen/i\ listen 8080' /etc/httpd/conf/httpd.conf //添加的前面有空格
      sed -i.bak '/^Listen/c listen 8080' /etc/httpd/conf/httpd.conf //操作c 是替換
      sed '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config /// 位置是‘SELINUX=’開(kāi)頭的行,操作是c 替換成SELINUX=disabled 搜索出的這一行 替換掉
      sed '/^#/d;w /data/httpd.conf' /etc/httpd/conf/httpd.conf ///位置是#開(kāi)頭的行,操作是d;w 先刪掉,然后再另存為/data/httpd.conf 把#號(hào)開(kāi)頭的行刪掉,然后另存為
      sed 's/root/ROOT/g' passwd //搜索替換,把root替換成ROOT,不加g的話默認(rèn)只替換第一個(gè),g是全部的意思,搜索出來(lái)的全部替換成
      sed -i.bak 's/^[0-9]\+$/this is tihuan!!/g' cattest.txt ///使用搜索替換和操作c效果一樣
      sed -i.bak '/^[0-9]\+$/c this is tihuan!!' cattest.txt ///使用搜索替換和操作c效果一樣
      sed -i.bak '/^root/,/^<root/s/#//g' list.txt //////找到 root與<root 之間的位置 做全局的搜索替代g,把#都刪掉了,然后保存到了源文件中
      sed -n '/#<VirtualHost/,/#<\/VirtualHost/s@#@@p' /etc/httpd/conf/httpd.conf //找到這個(gè)節(jié)點(diǎn),做搜索替換,把#刪掉


      [root@centos7 data]#ifconfig eth0|sed -n '2s/^.*inet //;s@ netmask.*$@@p' ///對(duì)于第二行 做搜索替代,然后p打印
      [root@centos6 data]#ifconfig eth0 | sed -nr '2s/(^[^0-9]+)([0-9.]+)( .*$)/\2/p' ///分組替代
      [root@centos6 data]#echo /etc/sysconfig/network-scripts/ |sed -r 's@(^/.*/)([^/]+)/?$@\1@' ///分組替代
      /etc/sysconfig/
      [root@centos6 data]#echo /etc/sysconfig/network-scripts/ |sed -r 's@(^/.*/)([^/]+)/?$@\2@' ///分組替代
      network-scripts


      sed -rn '/^[[:space:]+linux16]/s#(.*)#\1 我想假加的字符串 #p' /boot/grub2/grub.cfg //找到linux16的行,在行的最后面加上你想要的東西
      sed -rn '/^[[:space:]+linux16]/s#(.*)#\1 net.ifnames=0 #p' /boot/grub2/grub.cfg //這個(gè)命令會(huì)把網(wǎng)卡名字改為傳統(tǒng)的網(wǎng)卡 eth1.。。。

      [root@centos7 data]#sed 's/'''$var'''/wang/' passwd ///使用變量 '''


      sed -rn '/rhgb quiet/s#(.*)(rhgb quiet)("$)#\1\2 int int \3#p' /etc/default/grub

      [root@centos7 Packages]#ls *.rpm|sed -r 's/.*\.(.*)\.rpm$/\1/'|sort|uniq -c //查看rpm前面的架構(gòu)都有哪幾種 分別的個(gè)數(shù)
        2258 i686
        3122 noarch
        4639 x86_64
      [root@centos7 Packages]#ls *.rpm|rev|cut -d. -f2|rev|sort |uniq -c
        2258 i686
        3122 noarch
        4639 x86_64

       

       

      posted @ 2020-08-05 21:33  我才是酷酷的飛  閱讀(1252)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 日本一区二区三区东京热| 亚洲狠狠爱一区二区三区| 中文字幕日韩有码av| 国产成人午夜精品永久免费| 国产福利酱国产一区二区| 亚洲精品一区二区妖精| 天堂网亚洲综合在线| 97在线观看视频免费| 欧美日本在线| 囯产精品久久久久久久久久妞妞 | 国产91丝袜在线观看| 色欲天天婬色婬香综合网| 猫咪www免费人成网站| 91精品国产色综合久久不| 滨海县| 免费无码AV一区二区波多野结衣| 亚洲精品一区久久久久一品av| 毛片无遮挡高清免费| 国产互换人妻xxxx69| 亚洲午夜精品久久久久久抢| 亚洲gv天堂无码男同在线观看| 乌审旗| 欧美野外伦姧在线观看| 蜜桃av亚洲精品一区二区| 国精品无码一区二区三区在线蜜臀| 麻豆av一区二区三区| 一边吃奶一边摸做爽视频| 日韩高清在线亚洲专区国产| 狠狠亚洲色一日本高清色| 国产农村妇女高潮大叫| av午夜福利一片免费看久久| 亚洲精品日韩中文字幕| 久久热这里只有精品国产| 亚洲色一色噜一噜噜噜| 国产又色又刺激高潮视频| 自慰无码一区二区三区| 国产在线精品福利91香蕉| 国产中年熟女高潮大集合| 国产不卡一区不卡二区| 成人做受120秒试看试看视频| 日韩av一区二区精品不卡|