日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sed用法及举例

發布時間:2024/1/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sed用法及举例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本sed編程舉例

-n 只輸出處理后的行

-i 直接修改讀取的文件內容,而不是輸出到終端

-r 使用擴展正則表達式

打印指定行

[root@tyzZ SED]# cat file xdtn 6/56 12356 G 8 34 78 zdyn 6/56 12356 G 8 34 78 aklm 6/56 12356 G 8 34 78 xcvg 6/56 12356 G 8 34 78 uiol 6/56 12356 G 8 34 78 bghj 6/56 12356 G 8 34 78 asd 123 $q12 F 9 qwe dfgg zxce 6/56 12356 G 8 34 78 [root@tyzZ SED]# sed -n 2p file zdyn 6/56 12356 G 8 34 78 [root@tyzZ SED]# sed -n "2,4"p file zdyn 6/56 12356 G 8 34 78 aklm 6/56 12356 G 8 34 78 xcvg 6/56 12356 G 8 34 78

打印匹配指定字母或單詞的行

[root@tyzZ SED]# sed -n '/\$/'p file #匹配元字符 asd 123 $q12 F 9 qwe dfgg [root@tyzZ SED]# sed -n '/aklm/'p file aklm 6/56 12356 G 8 34 78

顯示所有行

[root@tyzZ SED]# sed -n '1,$p' file #$意思是最后一行 xdtn 6/56 12356 G 8 34 78 zdyn 6/56 12356 G 8 34 78 aklm 6/56 12356 G 8 34 78 xcvg 6/56 12356 G 8 34 78 uiol 6/56 12356 G 8 34 78 bghj 6/56 12356 G 8 34 78 asd 123 $q12 F 9 qwe dfgg zxce 6/56 12356 G 8 34 78

顯示第一行

[root@tyzZ SED]# sed -n '1p' file xdtn 6/56 12356 G 8 34 78

顯示最后一行

[root@tyzZ SED]# sed -n '$p' file zxce 6/56 12356 G 8 34 78

打印行號

使用“=”
[root@tyzZ SED]# sed -n '/uiol/=' file 5
如果打印行號及匹配行的話 需要兩條sed命令

刪除文本

[root@tyzZ SED]# sed '1d' file zdyn 6/56 12356 G 8 34 78 aklm 6/56 12356 G 8 34 78 xcvg 6/56 12356 G 8 34 78 uiol 6/56 12356 G 8 34 78 bghj 6/56 12356 G 8 34 78 asd 123 $q12 F 9 qwe dfgg zxce 6/56 12356 G 8 34 78

刪除其他與顯示其他 規則相同

替換文本

[root@tyzZ SED]# sed 's/xdtn/XDTN/' file #將文件中所有的xdtn替換為XDTN

刪除文本

[root@tyzZ SED]# sed 's/\$//' file #將文本中所有的$刪去

全局替換

[root@tyzZ SED]# sed 's/78/bb/g' file

將替換后的結果 寫入到文件

[root@tyzZ SED]# sed 's/78/bb/w asd' file XDTN 6/56 12356 G 8 34 bb zdyn 6/56 12356 G 8 34 bb aklm 6/56 12356 G 8 34 bb xcvg 6/56 12356 G 8 $34 bb uiol 6/56 $12356 G 8 34 bb bghj 6/56 12356 G 8 34 bb asd 123 $q12 F 9 qwe dfgg $zxce 6/56 12356 G 8 34 bb[root@tyzZ SED]# cat asd XDTN 6/56 12356 G 8 34 bb zdyn 6/56 12356 G 8 34 bb aklm 6/56 12356 G 8 34 bb xcvg 6/56 12356 G 8 $34 bb uiol 6/56 $12356 G 8 34 bb bghj 6/56 12356 G 8 34 bb $zxce 6/56 12356 G 8 34 bb

sed中,使用\u表示大寫,\l表示小寫

  • 把每個單詞的第一個小寫字母變大寫:sed 's/\b[a-z]/\u&/g' filename
  • 把所有小寫變大寫:sed 's/[a-z]/\u&/g' filename
  • 大寫變小寫:sed 's/[A-Z]/\l&/g' filename
  • 打印指定行數 (^開頭)(結尾$)
    [root@tyzz ~]# sed -n '1,10'p 1.txt root:x:0:0:root:/root:/bin/bash 123131231313123123131231313453453665789708 !@#!@#@$@$#%$%^%^&^*^(*)()**))^%^#$@$ bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/syncrr
    匹配指定關鍵字
    [root@tyzz ~]# sed -n '/root/'p 1.txt root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin
    刪除匹配到的行。。。(d=delete)
    [root@tyzz ~]# sed '/[0-9]/'d 1.txt !@#!@#@$@$#%$%^%^&^*^(*)()**))^%^#$@$rr rrr rrrr
    刪除空行
    [root@tyzz ~]# sed '/^$/'d 1.txt [root@tyzz ~]# sed '/^$/'d 3.txt i adsads
    替換
    [root@tyzz ~]# sed 's/nologin/aaaaa/g' 1.txt root:x:0:0:root:/root:/bin/bash 123131231313123123131231313453453665789708 !@#!@#@$@$#%$%^%^&^*^(*)()**))^%^#$@$ bin:x:1:1:bin:/bin:/sbin/aaaaarr rrr rrrr shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/aaaaa operator:x:11:0:operator:/root:/sbin/aaaaaftp:x:14:50:FTP User:/var/ftp:/sbin/aaaaa nobody:x:99:99:Nobody:/:/sbin/aaaaadbus:x:81:81:System message bus:/:/sbin/aaaaa polkitd:x:999:999:User for polkitd:/:/sbin/aaaaantp:x:38:38::/etc/ntp:/sbin/aaaaa avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/aaaaa avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/aaaaa libstoragemgmt:x:998:997:daemon account for libstoragemgmt:/var/run/lsm:/sbin/aaaaa
    將數字去掉(將數字替換為空)
    [root@tyzz ~]# sed 's/[0-9]//g' 1.txt root:x:::root:/root:/bin/bash!@#!@#@$@$#%$%^%^&^*^(*)()**))^%^#$@$ bin:x:::bin:/bin:/sbin/nologinrr rrr rrrr shutdown:x:::shutdown:/sbin:/sbin/shutdown
    去掉所有大小寫字母
    sed 's#[a-zA-z]##g' 1.txt ::0:0::/:// 123131231313123123131231313453453665789708 !@#!@#@$@$#%$%%&*(*)()**))%#$@$ ::1:1::/://::6:0::/://
    所有小寫字母 替換為大寫
    sed 's/[a-z]/\u&/g' 1.txt
    大寫字母 替換為小寫
    sed 's/[A-Z]/\l&/g' 1.txt
    把每個單詞的第一個小寫字母變大寫
    [root@tyzz ~]# sed 's/\b[a-z]/\u&/g' 3.txt Asdada Asdadas Zxczxc Ffghf Asdasd Adad Cbbcvbghf Reert Hfh Vbnvnjghj I Adsads

    轉載于:https://www.cnblogs.com/aallenn/p/6700587.html

    總結

    以上是生活随笔為你收集整理的sed用法及举例的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。