免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jiaoli
打印 上一主题 下一主题

如何批量追加日期 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-08-23 09:56 |只看该作者
民工的这个好像搞的有些复杂了。如果不需要导入日期,可以更短:
rdcwayx 发表于 2010-08-23 09:34



    gsub用的好
掌声~~~

论坛徽章:
0
12 [报告]
发表于 2010-08-23 09:59 |只看该作者
  1. awk 'BEGIN{FS=OFS=","}{$2=$2",20100823";$NF=""}1' ufile
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
13 [报告]
发表于 2010-08-23 10:12 |只看该作者
回复 10# BangBull


    hehe 没看清题目,内容插错位置了

论坛徽章:
0
14 [报告]
发表于 2010-08-23 10:16 |只看该作者
LS都是高人,学习~

论坛徽章:
0
15 [报告]
发表于 2010-08-23 10:22 |只看该作者
回复  ly5066113 这个为什么 最后面会多出一点呢 , 不是只替换第二个 , 吗~!
BangBull 发表于 2010-08-23 09:09

楼主说是替换,但提供的结果是还有点的

论坛徽章:
0
16 [报告]
发表于 2010-08-23 10:42 |只看该作者
本帖最后由 aleng 于 2010-08-23 11:02 编辑

来晚了,
我看这个用excel来处理也很容易,看来我只会一点点excel
逻辑如下:
分3列导入数据,假如最后一个字符【一定是】“,”,那么以“,”为分隔符导入数据即可。导入时还要收工调整下,只让前2个“,”起作用。
导入后,去掉了第一,第二,最后一个“,”

假如最后一个字符【不一定是】“,”,那么以固定宽度导入数据即可。也就是说把所有“,”也导入了。然后对第三列用公式去掉“,”,
即第三列“0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,
”中,如果最后一个字符是“,”那么从左取少一个字符数据。假设这列共20个字符,从左取19个字符。

然后再第2列后,插入一列,插入日期即可。

这类问题一般解决流程是:
导入文本。导入时可能涉及到导入逻辑,手工导入就是调试过程。
处理。简单的就点鼠标,中等的就写公式,只有不到10%难的要vba语句写。
导出。
批量处理就用宏。

论坛徽章:
0
17 [报告]
发表于 2010-08-23 10:57 |只看该作者
来晚了,
我看这个用excel来处理也很容易,看来我只会一点点excel
aleng 发表于 2010-08-23 10:42



    兄台头像竟然是神兽

论坛徽章:
0
18 [报告]
发表于 2010-08-23 11:28 |只看该作者
学习了

论坛徽章:
0
19 [报告]
发表于 2010-08-23 12:53 |只看该作者
本帖最后由 alfred1980 于 2010-08-23 13:00 编辑

awk -F "," 'BEGIN{"date '+%Y%m%d'"|getline date_tmp}
{
$NF=""
match($0,$2)
#print RSTART,RLENGTH
before=substr($0,1,RSTART+RLENGTH-1)
after=substr($0,RSTART+RLENGTH)
printf "%s,%s%s\n",before,date_tmp,after
}' test6

论坛徽章:
0
20 [报告]
发表于 2010-08-23 17:46 |只看该作者
回复 8# greysky-zfj


       学习中
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP