10.15 sed 命令实践
在n行前插入
[root@wen data]# sed '2i 106,dandan,CSO' person.txt
101,oldboy,CEO
106,dandan,CSO
102,zhangyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
在n行后插入[root@wen data]# sed '2a 106,dandan,CSO' person.txt
101,oldboy,CEO
102,zhangyao,CTO
106,dandan,CSO
103,Alex,COO
104,yy,CFO
105,feixue
插入多行[root@wen data]# sed '2a 106,dandan,CSO\n107,bingbing,CCO' person.txt101,oldboy,CEO102,zhangyao,CTO106,dandan,CSO107,bingbing,CCO103,Alex,COO104,yy,CFO105,feixue,CIOCIO[root@wen data]# sed '2a 106,dandan,CSO\> 107,bingbing,CCO' person.txt101,oldboy,CEO102,zhangyao,CTO106,dandan,CSO107,bingbing,CCO103,Alex,COO104,yy,CFO105,feixue,CIO刪除指定行[root@wen data]# sed '2d' person.txt101,oldboy,CEO103,Alex,COO104,yy,CFO105,feixue,CIO[root@wen data]# sed '1~2d' person.txt102,zhangyao,CTO104,yy,CFO[root@wen data]# sed '1,+2d' person.txt104,yy,CFO105,feixue,CIO[root@wen data]# sed '2,3d' person.txt101,oldboy,CEO104,yy,CFO105,feixue,CIO[root@wen data]# sed '/feixue/,2d' person.txt101,oldboy,CEO102,zhangyao,CTO103,Alex,COO104,yy,CFO--------------------替換按行替換[root@wen data]# sed '2c 106,dandan,CSO' person.txt101,oldboy,CEO106,dandan,CSO103,Alex,COO104,yy,CFO105,feixue,CIO精確到行替換,s前面添加行號n[root@wen data]# sed "2s#CTO#CCO#g" person.txt101,oldboy,CEO102,zhangyao,CCO103,Alex,COO104,yy,CFO105,feixue,CIO------[root@wen data]# cat test.txtaba[root@wen data]# x=a[root@wen data]# y=b[root@wen data]# echo $x $ya b[root@wen data]# sed 's#$x#Sy#g' test.txtaba雙引號解析變量[root@wen data]# sed "s#$x#$y#g" test.txtbbb[root@wen data]# eval sed 's#$x#$y#' test.txtbbb
[root@wen data]# sed '1,3s#C#--&--#g' person.txt101,oldboy,--C--EO102,zhangyao,--C--TO103,Alex,--C--OO104,yy,CFO105,feixue,CIO
批量修改文件名 &代表前面匹配到的字符
[root@wen test1]# touch stu_102999_{1..5}_finished.jpg[root@wen test1]# lsstu_102999_1_finished.jpg stu_102999_3_finished.jpg stu_102999_5_finished.jpgstu_102999_2_finished.jpg stu_102999_4_finished.jpg[root@wen test1]# ls|sed -r 's#(^.*)_finished(.*$)#mv & \1.jpg#g'|bash[root@wen test1]# lsstu_102999_1.jpg stu_102999_3.jpg stu_102999_5.jpgstu_102999_2.jpg stu_102999_4.jpg
---------------------------------
sed 使用-n,必須和p一起 -n 取消默認輸出[root@wen data]# sed '2p' person.txt101,oldboy,CEO102,zhangyao,CTO102,zhangyao,CTO103,Alex,COO104,yy,CFO105,feixue,CIO[root@wen data]# sed -n '2p' person.txt102,zhangyao,CTO[root@wen data]# sed -n 'p' person.txt101,oldboy,CEO102,zhangyao,CTO103,Alex,COO104,yy,CFO105,feixue,CIO
總結
以上是生活随笔為你收集整理的10.15 sed 命令实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10.14 socket 网络编程
- 下一篇: 10.16 ln软硬链接的创建等