免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3562 | 回复: 5
打印 上一主题 下一主题

[系统管理] 如何删除文件中每一行指定位置的字符 [复制链接]

论坛徽章:
2
摩羯座
日期:2015-01-10 16:35:05摩羯座
日期:2015-01-25 22:10:41
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-09-16 16:03 |只看该作者 |倒序浏览
需要删除每一行中第5到19位的字符,
如第一行原来是
  1. 1000113100001721296,2010-03-05 10:13:52.0
复制代码
我需要的结果是
  1. 10001131,2010-03-05 10:13:52.0
复制代码
这样一个样子
如何实现的,
我尝试着可以使用  cut -c  5-19 file 可心查出来,但怎么删除不会。
VI也查了,没有查到符合我要求的命令,
SED真心不会。。。。。。

文件内容如下所示:
--------------------------------------------------------------
1000113100001721296,2010-03-05 10:13:52.0
1000111100000000020,2004-08-15 15:19:23.0
1000111100000000025,2007-09-10 11:24:00.0
1000111100000000029,2006-05-08 09:34:20.0
1000111100000000032,2005-02-27 08:56:08.0
---------------------------------------------------------------

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
2 [报告]
发表于 2014-09-16 16:44 |只看该作者
本帖最后由 chengchow 于 2014-09-16 16:47 编辑
  1. echo "1000113100001721296,2010-03-05 10:13:52.0" | cut -c -8,20-
  2. 10001131,2010-03-05 10:13:52.0
  3. echo "1000113100001721296,2010-03-05 10:13:52.0" | cut -b -8,20-
  4. 10001131,2010-03-05 10:13:52.0
复制代码

论坛徽章:
10
金牛座
日期:2014-09-16 19:02:48技术图书徽章
日期:2015-11-24 01:37:29操作系统版块每日发帖之星
日期:2015-11-18 06:20:002015年亚洲杯之沙特阿拉伯
日期:2015-04-13 17:33:462015年迎新春徽章
日期:2015-03-04 09:51:162015年辞旧岁徽章
日期:2015-03-03 16:54:15午马
日期:2014-12-04 19:33:55白羊座
日期:2014-09-17 19:34:42巨蟹座
日期:2014-09-16 21:09:4815-16赛季CBA联赛之同曦
日期:2016-06-27 23:23:07
3 [报告]
发表于 2014-09-16 19:37 |只看该作者
sed -i.bak -n 's/\([0-9]\{5\}\).*\(,.*\)/\1\2/gp' 2.txt

cat 2.txt
10001,2010-03-05 10:13:52.0
10001,2004-08-15 15:19:23.0
10001,2007-09-10 11:24:00.0
10001,2006-05-08 09:34:20.0
10001,2005-02-27 08:56:08.0

论坛徽章:
1
双鱼座
日期:2014-08-25 19:13:11
4 [报告]
发表于 2014-09-17 10:49 |只看该作者
echo '1000113100001721296,2010-03-05 10:13:52.0'| sed -r 's/(.{4})(.{15})(.*)/\1\3/'

论坛徽章:
14
15-16赛季CBA联赛之辽宁
日期:2019-06-16 15:47:3515-16赛季CBA联赛之广夏
日期:2016-08-13 21:24:352015亚冠之武里南联
日期:2015-07-07 17:37:372015亚冠之萨济拖拉机
日期:2015-07-06 17:07:482015亚冠之全北现代
日期:2015-06-04 13:54:272015亚冠之城南
日期:2015-05-21 15:43:212015年亚洲杯之伊朗
日期:2015-04-25 18:20:362015年亚洲杯之伊朗
日期:2015-04-20 16:06:052015年亚洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
5 [报告]
发表于 2014-09-17 11:03 |只看该作者
  1. awk  -F, -vOFS=,  '{$1=substr($1,1,8)}1' 1

  2. sed -r 's/(.{8})([^,]+),(.*)/\1,\3/' 1

  3. 结果:
  4. 10001131,2010-03-05 10:13:52.0
  5. 10001111,2004-08-15 15:19:23.0
  6. 10001111,2007-09-10 11:24:00.0
  7. 10001111,2006-05-08 09:34:20.0
  8. 10001111,2005-02-27 08:56:08.0
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
6 [报告]
发表于 2014-09-17 12:12 |只看该作者
  1. :%s/\(.\{8\}\)[^,]\+/\1/
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP