免费注册 查看新帖 |

Chinaunix

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

[文本处理] 匹配时间开头后行不换行,并去重 [复制链接]

回帖奖励 4 可用积分 回复本帖可获得 1 可用积分奖励! 每人限 1 次

论坛徽章:
5
CU十四周年纪念徽章
日期:2016-06-30 00:03:1415-16赛季CBA联赛之天津
日期:2016-12-27 16:24:1415-16赛季CBA联赛之辽宁
日期:2017-03-14 15:38:3515-16赛季CBA联赛之江苏
日期:2017-03-14 17:09:4815-16赛季CBA联赛之青岛
日期:2017-04-04 16:15:48
发表于 2019-03-08 15:40 |显示全部楼层
本帖最后由 _寒_CU 于 2019-03-08 16:25 编辑

源文本:
"2019-02-20T18:48:13.868"
"6c339e2b9b2943799ee8b5d6c1ccfbc5"
"3696248e9be247ed9a86bc75e4a7fd6d"
"TID84f6a2fbc1cc43b3927a2fe2e599d11c"
"TID84f6a2fbc1cc43b3927a2fe2e599d11c"
"2019-02-20T18:49:44.672"
"6c339e2b9b2943799ee8b5d6c1ccfbc5"
"59583bae1bbb4a108c34689c3eef4f5a"
"TIDb2eadd98c51c4bc58e1782d8d1d5a036"
"TIDb2eadd98c51c4bc58e1782d8d1d5a036"
"2019-02-20T19:13:29.770"
"6c339e2b9b2943799ee8b5d6c1ccfbc5"
"32f8f0fc2ff245759f2c401e889fb81a"
"TIDaa17676a8bb84a85ab507e692e5eb75f"
"TIDaa17676a8bb84a85ab507e692e5eb75f"
....

实现如下:
"2019-02-20T18:48:13.868","6c339e2b9b2943799ee8b5d6c1ccfbc5","3696248e9be247ed9a86bc75e4a7fd6d","TID84f6a2fbc1cc43b3927a2fe2e599d11c"
"2019-02-20T18:49:44.672","6c339e2b9b2943799ee8b5d6c1ccfbc5","59583bae1bbb4a108c34689c3eef4f5a","TIDb2eadd98c51c4bc58e1782d8d1d5a036"
"2019-02-20T19:13:29.770","6c339e2b9b2943799ee8b5d6c1ccfbc5","32f8f0fc2ff245759f2c401e889fb81a","TIDaa17676a8bb84a85ab507e692e5eb75f"


....

论坛徽章:
0
发表于 2019-03-08 16:20 |显示全部楼层

回帖奖励 +1 可用积分

  1. #建议保存编码为:bom头 + utf8
  2. $输入文件 = 'a:\pscode\TEMP_2019\temp127\aaa.txt'
  3. $输出文件 = 'a:\pscode\TEMP_2019\temp127\aaa2.txt'
  4. $files = Get-Content -LiteralPath $输入文件 -ReadCount 0
  5. foreach ($行 in $files)
  6. {
  7.         if ($行2 -eq $行)
  8.         {
  9.                 continue
  10.         }

  11.         $行3 = $行.Trim('"') -as [datetime]
  12.         if ($行3 -is [datetime])
  13.         {
  14.                 Add-Content -LiteralPath $输出文件 -Value ''
  15.         }

  16.         Add-Content -LiteralPath $输出文件 -Value $行 -NoNewline
  17.         Add-Content -LiteralPath $输出文件 -Value ',' -NoNewline
  18.         $行2 = $行
  19. }
复制代码


powershell代码,win,linux通用,测试通过。

论坛徽章:
0
发表于 2019-03-08 17:23 |显示全部楼层

回帖奖励 +1 可用积分

本帖最后由 jzsjm1002 于 2019-03-08 17:40 编辑
  1. root@vh200:/mnt/awk# cat test.awk
  2. #!/usr/bin/awk -f
  3. #

  4. /[0-9]{4}(-[0-9]{2}){2}/{
  5.   delete b  
  6.   a[++j]=$0
  7.   getline
  8. }

  9. !b[$0]++{a[j]=a[j]","$0}

  10. END{
  11. for(i in a)
  12.   print a[i]
  13. }

  14. root@vh200:/mnt/awk# ./test.awk a00.xml
  15. "2019-02-20T18:48:13.868","6c339e2b9b2943799ee8b5d6c1ccfbc5","3696248e9be247ed9a86bc75e4a7fd6d","TID84f6a2fbc1cc43b3927a2fe2e599d11c"
  16. "2019-02-20T18:49:44.672","6c339e2b9b2943799ee8b5d6c1ccfbc5","59583bae1bbb4a108c34689c3eef4f5a","TIDb2eadd98c51c4bc58e1782d8d1d5a036"
  17. "2019-02-20T19:13:29.770","6c339e2b9b2943799ee8b5d6c1ccfbc5","32f8f0fc2ff245759f2c401e889fb81a","TIDaa17676a8bb84a85ab507e692e5eb75f"
复制代码

论坛徽章:
5
CU十四周年纪念徽章
日期:2016-06-30 00:03:1415-16赛季CBA联赛之天津
日期:2016-12-27 16:24:1415-16赛季CBA联赛之辽宁
日期:2017-03-14 15:38:3515-16赛季CBA联赛之江苏
日期:2017-03-14 17:09:4815-16赛季CBA联赛之青岛
日期:2017-04-04 16:15:48
发表于 2019-03-11 10:31 |显示全部楼层
回复 3# jzsjm1002

你好,执行的结果不换行 怎么
  1. ,"2019-02-20T18:48:13.868","6c339e2b9b2943799ee8b5d6c1ccfbc5","3696248e9be247ed9a86bc75e4a7fd6d","TID84f6a2fbc1cc43b3927a2fe2e599d11c","2019-02-20T18:49:44.672","59583bae1bbb4a108c34689c3eef4f5a","TIDb2eadd98c51c4bc58e1782d8d1d5a036","2019-02-20T19:13:29.770","32f8f0fc2ff245759f2c401e889fb81a","TIDaa17676a8bb84a85ab507e692e5eb75f","2019-02-20T19:30:49.027","ecf736fbb14b497aa2633b227eecdd98","TIDef163795d7294ebc9cb6e41b1769f21f","2019-02-20T19:40:25.368","ccc58a4c41964d829f08d1a9032bf48d","TID3de94ad248494d2a9aa7aa637d4dd818","2019-02-20T20:15:04.362","c8ce3dcefd1f464fa76a902f984da02d","TIDf1362f568f3e4f54a757817c2ba9e9bb","2019-02-20T20:29:12.709","c6c38604598c4f8ea9dd17ceb5e38e5d","TID1e23f26aa4a7403981766ff4f977cbd3","2019-02-20T21:45:04.271","efa587098d8c46308eab23fcc46568f8","TID4247ffb3645c44189ab2ed4af60e6f24","2019-02-20T21:50:27.407","29b426242ec74b5ea88c506952c1af9b","TID41d97adfe3684a9c840b7f94e86eefc3","2019-02-20T22:00:00.371","TIDcb3c528131664adabd3c26ac161d816e"
复制代码




论坛徽章:
0
发表于 2019-03-11 10:40 |显示全部楼层
回复 4# _寒_CU


111.png

论坛徽章:
5
CU十四周年纪念徽章
日期:2016-06-30 00:03:1415-16赛季CBA联赛之天津
日期:2016-12-27 16:24:1415-16赛季CBA联赛之辽宁
日期:2017-03-14 15:38:3515-16赛季CBA联赛之江苏
日期:2017-03-14 17:09:4815-16赛季CBA联赛之青岛
日期:2017-04-04 16:15:48
发表于 2019-03-11 10:52 |显示全部楼层
回复 5# jzsjm1002

好奇怪了,我复制的就是你给出的代码 怎么执行结果不一样呢

1000

1000

论坛徽章:
0
发表于 2019-03-11 11:05 |显示全部楼层
回复 6# _寒_CU

root@vh200:/mnt/awk# awk -V
GNU Awk 4.1.1, API: 1.1 (GNU MPFR 3.1.2-p3, GNU MP 6.0.0)

论坛徽章:
5
CU十四周年纪念徽章
日期:2016-06-30 00:03:1415-16赛季CBA联赛之天津
日期:2016-12-27 16:24:1415-16赛季CBA联赛之辽宁
日期:2017-03-14 15:38:3515-16赛季CBA联赛之江苏
日期:2017-03-14 17:09:4815-16赛季CBA联赛之青岛
日期:2017-04-04 16:15:48
发表于 2019-03-11 11:18 |显示全部楼层
回复 7# jzsjm1002

可能就是版本不一样导致的:我的系统是ubuntu 14.04

linkface@tdlog:/log_bak/cloud-api/java-cloud-api01$ awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

compiled limits:
max NF             32767
sprintf buffer      2040


论坛徽章:
0
发表于 2019-03-11 11:26 |显示全部楼层
回复 8# _寒_CU

apt-get install gawk

论坛徽章:
5
CU十四周年纪念徽章
日期:2016-06-30 00:03:1415-16赛季CBA联赛之天津
日期:2016-12-27 16:24:1415-16赛季CBA联赛之辽宁
日期:2017-03-14 15:38:3515-16赛季CBA联赛之江苏
日期:2017-03-14 17:09:4815-16赛季CBA联赛之青岛
日期:2017-04-04 16:15:48
发表于 2019-03-11 11:32 |显示全部楼层
回复 9# jzsjm1002

安装后 可以啦 谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。




----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP