2018-4-26

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-4-26相关的知识,希望对你有一定的参考价值。

9.4/9.5 sed



9.4/9.5 sed

技术分享图片

技术分享图片



创建一个sed目录 把grep里的passwd拷贝过来

技术分享图片


sed强项在于替换(替换一些指定的字符)。


语法sed '//'    这个 //里就是需要匹配的字符串

sed  '/root/'p text.txt  //列举出所有

 sed  -n '/root/'p text.txt //只列出有root的行,其中root可以是r.t  r*t r+t(r+t需要脱译,即r\+t)

如果不想打脱译符号 sed -nr 'r+t' text.txt

技术分享图片

技术分享图片


//里 可以比如比配2次o  o{2} 或用或者|等符号


 打印行  sed -n '2'p text.txt   //打印第二行

  技术分享图片

打印2到5行'2,5',  打印5到最后一行 '5,$'  ($表示末行),全部1,$


sed -e '1'p -e '/root/'p -n text.txt( -e的含义是做多个操作,打印并且匹配)

技术分享图片

第一行是root,再次匹配到root,所以有两行一样的。


set -n '/bus/'Ip text.txt (加大i匹配不区分大小写)



技术分享图片

sed还可以删除指定的行。 sed '*'d text.txt


sed '1,20'd test.txt (删除20行,实际上没有删除,只是屏幕上没有显示)

技术分享图片


先拷贝一份

技术分享图片

把前25行直接删除掉# sed -i '1,20'd test.txt(-i直接改变文件内容)

技术分享图片

只剩4行了。

还可以针对性的删除sed -i '/user2/'d test.txt



把test.txt重新拷贝回来

sed 还有替换的功能

sed '1,10s/root/toor/g' test.txt (s就是替换的关键词,g全局替换) //1-10行中root替换成toor


做一个操作

技术分享图片

把前十行里的首段和尾段交换。


技术分享图片

.*算是贪婪匹配,它是从root:这个冒号开始到了:bin/bash 这个冒号,并没有匹配中间的冒号。

[^+]非冒号,一个或多个,然后就是:, .*包括了中间的好几段,然后就是最后一段与第一段相同。

最后123换成321实现首位互换。



删除所有英文字母  [a-zA-Z]替换成空//就可以了。


在所有的行前加个aaa

sed -r 's/(.*)/aaa:&/'

技术分享图片





以上是关于2018-4-26的主要内容,如果未能解决你的问题,请参考以下文章

Codepen 每日精选(2018-4-26)

2018.4.26 六周第二次课 (正则sed 替换)

2018-4-26 Python实现对服务进程的监控,告警给钉钉机器人及重启任务

weblogic启动之后经常自己挂掉的情况总结

Unity开发Hololens2—环境配置

Unity+SteamVR开发——场景切换问题