免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1793 | 回复: 4

[文本处理] 关于使用sed删除vi中字符串的问题 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2018-08-18 09:05 |显示全部楼层
本帖最后由 sohusina 于 2018-08-18 09:10 编辑

问题是这样的,我用vi新建了一个文本文件,里面有形如以下的内容:

1.       import a;
2.       import b;
21.     import b.c;
211.          i=0;
3.        /* this is a
4.            code for
5.            java project */
6.       m=0;
7.       n=0;
71.     String the_one="";
711.   the_one="ok";



我的需求是使用sed删除(诸如1. 2. 21. 之类的非代码的内容),但是我的sed老是达不到要求:

比如我用sed 's/^.*\.//' test.java 就达不到要求,

无奈之下,我看到点号内容最多只有4列内容,于是我使用 sed 's/....//'就把java代码前面的无用字符串删除了,而且很多代码都顶格了。
如下

import a;
import b;

以下省略……

我的问题是,
1,为什么 sed 's/....//' test.java,那么从 (诸如1. 2.)到(import)之间的空格也没有了呢?
2,有什么更好的sed用法吗?即:我只要求删除每行java代码之前的诸如1. 2. 71. 之类的无用的字符串。

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
发表于 2018-08-18 13:52 |显示全部楼层
本帖最后由 1cpuer 于 2018-08-18 13:56 编辑

sed 's/^[0-9][0-9]*\.//g' test.java|nl
sed 's/....//' test.java
sed 's/^....//' test.java
前面4个字符

论坛徽章:
4
15-16赛季CBA联赛之青岛
日期:2018-07-09 14:17:2815-16赛季CBA联赛之八一
日期:2018-08-06 15:30:0515-16赛季CBA联赛之广东
日期:2018-08-09 09:11:2115-16赛季CBA联赛之佛山
日期:2019-02-14 09:26:31
发表于 2018-08-20 09:47 |显示全部楼层
本帖最后由 christmas1102 于 2018-08-20 09:49 编辑
  1. sed -r 's#\S+\s+(\S.*)#\1#' file
复制代码

论坛徽章:
25
程序设计版块每日发帖之星
日期:2016-05-03 06:20:0015-16赛季CBA联赛之八一
日期:2018-07-05 10:34:09黑曼巴
日期:2018-07-06 15:19:5015-16赛季CBA联赛之佛山
日期:2018-08-03 13:19:3315-16赛季CBA联赛之山西
日期:2018-08-07 19:46:2315-16赛季CBA联赛之广夏
日期:2018-08-08 19:31:5015-16赛季CBA联赛之青岛
日期:2018-11-26 15:21:5015-16赛季CBA联赛之上海
日期:2018-12-11 09:45:3219周年集字徽章-年
日期:2020-04-18 23:54:5215-16赛季CBA联赛之深圳
日期:2020-04-19 21:40:19黑曼巴
日期:2022-04-03 17:55:1315-16赛季CBA联赛之八一
日期:2018-07-03 16:56:46
发表于 2018-08-20 11:46 |显示全部楼层
回复 1# sohusina


  1. dos2unix file
  2. sed --version
  3. sed -r 's/^[^.]+\.//' file
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2018-08-22 07:57 |显示全部楼层
测试了一下,4楼的可用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP