生活随笔
收集整理的這篇文章主要介紹了
第6周第4课:复习及扩展知识
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
打印某行到某行之間的內容 http://ask.apelearn.com/question/559sed轉換大小寫 http://ask.apelearn.com/question/7758sed在某一行最后添加一個數字 http://ask.apelearn.com/question/288刪除某行到最后一行 http://ask.apelearn.com/question/213打印1到100行含某個字符串的行 http://ask.apelearn.com/question/1048sed命令擴展
打印文件中特定的某行到某行之間的內容
/root/sed/test 文件的內容如下:
[root@greenfinch sed]# cat test
ert
fff
**[abcfd]
123
324
444
[rty]
要求打印以[abcfd]開頭的行和[rty]所在行之間的內容。使用命令:
[root@greenfinch sed]# sed -n '/\[abcfd\]/,/\[try\]/p' test
[abcfd]
123
324
444
[rty]
轉換大小寫字母
把每個單詞的第一個小寫字母變大寫:[root@greenfinch sed]# sed 's/\b[a-z]/\u&/g' test.txt
Root:X:0:0:Root:/Root:/Bin/Bash
Bin:X:1:1:Bin:/Bin:/Sbin/NOLOGIN
Daemon:X:2:2:Daemon:/Sbin:/Sbin/Nologin
AdsfdsfsdfdfsBUs
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/Sync
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/Nologin
Operator:X:11:0:Operator:/Root:/Sbin/Nologin
Games:X:12:100:Games:/Usr/Games:/Sbin/Nologin
把所有小寫變大寫:[root@greenfinch sed]# sed 's/[a-z]/\u&/g' test.txt
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN
ADSFDSFSDFDFSBUS
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/SYNC
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/NOLOGIN
OPERATOR:X:11:0:OPERATOR:/ROOT:/SBIN/NOLOGIN
GAMES:X:12:100:GAMES:/USR/GAMES:/SBIN/NOLOGIN
大寫變小寫:[root@greenfinch sed]# sed 's/[A-Z]/\|&/g' test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/|N|O|L|O|G|I|N
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adsfdsfsdfdfs|B|Us
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/sync
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/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:|F|T|P |User:/var/ftp:/sbin/nologin
nobody:x:99:99:|Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd |Bus |Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd |Network |Management:/:/sbin/nologin
dbus:x:81:81:|System message bus:/:/sbin/nologin
在文件中某一行最后添加一個數字
[root@greenfinch sed]# sed 's/\(^u.*\)/\1 88888/' test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/NOLOGIN
daemon:x:2:2:daemon:/sbin:/sbin/nologin
user1:x:1002:1002::/hoome/user1:/bin/bash 88888
user2:x:1003:1003::/hooome/user2:/bin/bash 88888
user3:x:1004:1004::/hoooooome/user3:/bin/bash 88888
刪除某關鍵字的下一行到最后一行
[root@greenfinch sed]# head -n7 test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/NOLOGIN
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adsfdsfsdfdfsBUs
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/sync[root@greenfinch sed]# sed '/adsfds/{p; :a; N; $!ba; d}' test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/NOLOGIN
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adsfdsfsdfdfsBUs
說明:定義一個標簽a,匹配adsfds,然后N把下一行加到模式空間里,匹配最后一行時,才退出標簽循環,然后命令d,把這個模式空間里的內容全部清除。
if 匹配"adsfds"
:a
追加下一行
if 不匹配"$"
goto a
最后退出循環,d命令刪除。
打印1到100行包含某個字符串的行
[root@greenfinch sed]# sed -n '1,100{/finch/p}' test.txt
greenfinch:x:1000:1000::/home/greenfinch:/bin/bash
轉載于:https://my.oschina.net/greenfinch/blog/1609356
總結
以上是生活随笔為你收集整理的第6周第4课:复习及扩展知识的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。