免费注册 查看新帖 |

Chinaunix

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

[文本处理] 求sed的语句 [复制链接]

论坛徽章:
1
戌狗
日期:2013-10-24 11:22:04
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-30 09:11 |只看该作者 |倒序浏览
我想在文件的特定的列插入空格!例如:
1234567890123456789012345678901234567890123456789012345678901234567890
                 1                2                 3                4                 5                 6
X1        511076777-2       2196262.51    1 1951076777-1         1191350 11962001
X1        511076777-2       2196262.51 196 3901076777-1         1196325 12011751
X1        511076777-2       2196262.51 391 5851076777-2         2191350 21962001
X1        511076777-2       2196262.51 586 7801076777-2         2196325 22011751
X1        611076777-2       2193862.51     1 1951076777-1         1188950 11938001
X1        611076777-2       2193862.51 196 3901076777-1         1193925 11987751
X1        611076777-2       2193862.51 391 5851076777-2         2188950 21938001
X1        611076777-2       2193862.51 586 7801076777-2         2193925 21987751
我想在8列和9列,30列和31列,48列和49列之间插入空格
我觉得用sed应该可以的!
可是怎么写?
谢谢

论坛徽章:
0
2 [报告]
发表于 2013-07-30 09:21 |只看该作者
哪儿有八列和九列 ?
你指的是1234567890123456789012345678901234567890123456789012345678901234567890  这些数据?

论坛徽章:
0
3 [报告]
发表于 2013-07-30 09:24 |只看该作者
回复 1# 试一试
俺也看不懂


   

论坛徽章:
1
戌狗
日期:2013-10-24 11:22:04
4 [报告]
发表于 2013-07-30 09:25 |只看该作者
对不起!我指第三行以后的数据!第一第二是我加标识的行,好数列的!

论坛徽章:
0
5 [报告]
发表于 2013-07-30 09:28 |只看该作者
回复 4# 试一试


还是没懂。。。。
你把数据复制说明下
   

论坛徽章:
1
戌狗
日期:2013-10-24 11:22:04
6 [报告]
发表于 2013-07-30 09:31 |只看该作者
X1        511076777-2       2196262.51     1 1951076777-1         1191350 11962001
X1        511076777-2       2196262.51 196 3901076777-1         1196325 12011751
X1        511076777-2       2196262.51 391 5851076777-2         2191350 21962001
原始的数据!
我想变成
X1        5 11076777-2       2196262.5 1     1 195 1076777-1         1191350 1196200 1
X1        5 11076777-2       2196262.5 1 196 390 1076777-1         1196325 1201175 1
X1        5 11076777-2       2196262.5 1 391 585 1076777-2         2191350 2196200 1
插入空格!

论坛徽章:
1
戌狗
日期:2013-10-24 11:22:04
7 [报告]
发表于 2013-07-30 09:33 |只看该作者
sed或awk都可以实现的吧!

论坛徽章:
0
8 [报告]
发表于 2013-07-30 09:40 |只看该作者
  1. awk '{$2=substr($2,1,1) FS substr($2,2);$5=substr($5,1,3) FS substr($5,4);$NF=substr($NF,1,length($NF)-1) FS substr($NF,length($NF))}1'  file
复制代码

论坛徽章:
1
戌狗
日期:2013-10-24 11:22:04
9 [报告]
发表于 2013-07-30 09:42 |只看该作者
谢谢!我去试一试!

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
10 [报告]
发表于 2013-07-30 09:47 |只看该作者
  1. awk 'BEGIN{FS=OFS=""}{$8=$8" ";$30=$30" ";$48=$48" "}1' urfile
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP