删除文本文件行号的小方法(shell,sed)

     今天在网上看到一篇文章说什么经常会从网上下到的代码是带行号的,代码比较长时,显然手动来删除是不现实的,所以推荐什么Notepad++等可以删除行号的文本编辑器。楼主当时一看就觉得很2,自己也没去按那人说的方法去装什么编辑器去试。想了一下觉得这种功能随便用正则表达式匹配一下,替换一下不很简单就可以搞定么?实在不行完全可以把匹配方式写入一个脚本中,当做一个工具使用啊~~!

  于是想了一下,想用sed来解决。

  1.一般的格式,大部分是行号开头,后面还带一个空格。所以第一个字符必定是数字,因而用s/[0-9]*//1来匹配就可以了,将第一次出现数字打头的字段替换为空。

  2.再将行号后的空格以空替换,即s/ //1 即可。

  连起来就是: sed 's/[0-9]//1;s/ //1' filename

  如果需要,再重定向到你的代码文件里: sed 's/[0-9]//1;s/ //1' filename > newfile

  OK,搞定了,测试一下:

  

  结果:

   

  当然,匹配的方式有很多,可能有更简便的,我没多想,只想说sed多么方便~~,只要一行命令!

 

转载于:https://www.cnblogs.com/XiaoHDeBlog/archive/2013/01/31/2887180.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值