删除文本文件行号的小方法(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多么方便~~,只要一行命令!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
· Vue3封装支持Base64导出的电子签名组件