sedsed 一个更好理解sed执行过程的工具
官网:http://aurelio.net/projects/sedsed/ 这个上面好多学习的资料 嘿嘿 留着慢慢看
昨晚在看sed的具体执行过程,看到有hold space,pattern sapce,然后想看一下执行过程,就搜啊搜啊,搜到这个,以前就一直想有没有一个指令能追踪如何执行的
大概根据官网和自己的理解记录一下,不过我觉得看官网的原文更好理解,如果文中有错误,希望能一起改正,嘿嘿
二:sedsed的几种模式
cat email.txt
user@abc.com
otheruser@ll.com
cat email.txt |sedsed -d --hide=hold 's/@.*//g' PATT:user@abc.com$ COMM:s/@.*//g PATT:user$ user PATT:otheruser@ll.com$ COMM:s/@.*//g PATT:otheruser$ otheruser
--hide=patt 就是把PATT:这个给隐藏起来,只会输出HOLD与COMM
cat email.txt |sedsed -d --hide=patt 's/@.*//g' HOLD:$ COMM:s/@.*//g HOLD:$ user HOLD:$ COMM:s/@.*//g HOLD:$ otheruser
--hide=comm 就把COMM:隐藏,就只会输出HOLD,PATT
cat email.txt |sedsed -d --hide=comm 's/@.*//g' PATT:user@abc.com$ HOLD:$ PATT:user$ HOLD:$ user PATT:otheruser@ll.com$ HOLD:$ PATT:otheruser$ HOLD:$ otheruser
不加隐藏属性的话,PATT,HOLD,COMM都会对应的输出
cat email.txt |sedsed -d 's/@.*//g' PATT:user@abc.com$ HOLD:$ COMM:s/@.*//g PATT:user$ HOLD:$ user PATT:otheruser@ll.com$ HOLD:$ COMM:s/@.*//g PATT:otheruser$ HOLD:$ otheruser
cat email-linker.sed h;s|.*|<link>&</link>|;x;/@/{s/@.*/'s email:/;G;}
sedsed --indent -f email-linker.sed h s|.*|<link>&</link>| x /@/ { s/@.*/'s email:/ G }
echo lile@yunovo.cn |sedsed -d -f email-linker.sed PATT:lile@yunovo.cn$ HOLD:$ COMM:h PATT:lile@yunovo.cn$ HOLD:lile@yunovo.cn$ COMM:s|.*|<link>&</link>| PATT:<link>lile@yunovo.cn</link>$ HOLD:lile@yunovo.cn$ COMM:x PATT:lile@yunovo.cn$ HOLD:<link>lile@yunovo.cn</link>$ COMM:/@/ { COMM:s/@.*/'s email:/ PATT:lile's email:$ HOLD:<link>lile@yunovo.cn</link>$ COMM:G PATT:lile's email:\n<link>lile@yunovo.cn</link>$ HOLD:<link>lile@yunovo.cn</link>$ COMM:} PATT:lile's email:\n<link>lile@yunovo.cn</link>$ HOLD:<link>lile@yunovo.cn</link>$ lile's email: <link>lile@yunovo.cn</link>
sedsed --htmlize -f email-linker.sed >email-linker.sed.html
然后在浏览器里,在对应的路径打开就可以看到彩色的输出,打开这个文件email-linker.sed.html,全是html的标签
sedsed -t 's/b/a/g' linenr:1 addr1: addr1flag: addr2: addr2flag: lastaddr: modifier: id:s content: delimiter:/ pattern:b replace:a flag:g extrainfo: comment:
-------------------------------------------
个性签名:在平凡中坚持前行,总有一天会遇见不一样的自己!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
微信公众号 微信打赏 支付宝打赏
posted on 2016-11-14 14:27 Captain_Li 阅读(2850) 评论(0) 编辑 收藏 举报