免费注册 查看新帖 |

Chinaunix

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

[文本处理] 遇到一些问题 [复制链接]

论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-11-09 20:54 |只看该作者 |倒序浏览
本帖最后由 aaaa_123 于 2019-11-11 15:25 编辑

cat a.txt

[456464278640]
a
o
Version=122121212
$$2=007962CF91FB515
$$5=0FB515C006
$$7=00B36C0A03A005C



cat b.txt

$$1=000786A6F0

$$3=03B0676F0AD8E

$$6=0300


从这Version开始,  把b文件每行插入a文件中去  每发现有Version, 就这开始把b文件内容插入a文件中去

似乎由Version开始  都是从$$0起    插入时按 $$1 $$2 $$3 $$4 $$5 顺序排列出来

谢谢了


然后需准确得到下面

[456464278640]
a
o
Version=122121212
$$1=000786A6F0
$$2=007962CF91FB515
$$3=03B0676F0AD8E
$$5=0FB515C006
$$6=0300
$$7=00B36C0A03A005C





论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
2 [报告]
发表于 2019-11-09 21:38 |只看该作者
              

论坛徽章:
8
2016科比退役纪念章
日期:2018-10-24 08:24:0115-16赛季CBA联赛之北控
日期:2019-03-12 14:34:562016科比退役纪念章
日期:2019-04-01 10:33:0915-16赛季CBA联赛之山东
日期:2019-04-17 12:46:3215-16赛季CBA联赛之广夏
日期:2019-05-09 16:40:4015-16赛季CBA联赛之广夏
日期:2019-10-10 15:33:4015-16赛季CBA联赛之辽宁
日期:2019-10-15 08:37:0615-16赛季CBA联赛之北控
日期:2021-03-30 15:53:34
3 [报告]
发表于 2019-11-10 13:21 |只看该作者
本帖最后由 cfwyy 于 2019-11-10 16:44 编辑

test.awk
  1. !/Version/
  2. /Version/{
  3.     print $0
  4.     while(getline>0){
  5.         if($0 ~/\$\$/)
  6.             a[NR]=$0
  7.         else
  8.             break
  9.     }
  10.     system(">""tmp")
  11.     for(i in a)
  12.         print a[i] >>"tmp"
  13.     system("sort -m tmp b.txt>meger")
  14.     system("sort -t= -k1.3,1n meger")
  15.     delete a
  16.     if($0 !~/\$\$/)
  17.         print $0
  18. }
复制代码

  1. awk -f test.awk a.txt
复制代码

论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
4 [报告]
发表于 2019-11-10 16:09 |只看该作者
回复 3# cfwyy

Thanks  非常帅  而且还是awk

论坛徽章:
3
15-16赛季CBA联赛之八一
日期:2017-12-29 13:06:2315-16赛季CBA联赛之天津
日期:2018-08-08 17:39:4619周年集字徽章-年
日期:2019-12-25 22:50:31
5 [报告]
发表于 2019-11-10 16:30 |只看该作者
本帖最后由 aaaa_123 于 2019-11-10 20:41 编辑


.....OK         

论坛徽章:
0
6 [报告]
发表于 2020-03-01 23:50 |只看该作者
本帖最后由 Looiml 于 2020-03-01 23:56 编辑
  1. cat a
复制代码

[456464278640]
a
o
Version=122121212
$2=007962CF91FB515
$5=0FB515C006
$7=00B36C0A03A005C
  1. cat b
复制代码

$1=000786A6F0
$3=03B0676F0AD8E
$6=0300
  1. awk '1;/^Version/,0{if(getline<"b">0)print;else close("b")}' a
复制代码

[456464278640]
a
o
Version=122121212
$1=000786A6F0
$2=007962CF91FB515
$3=03B0676F0AD8E
$5=0FB515C006
$6=0300
$7=00B36C0A03A005C

论坛徽章:
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
7 [报告]
发表于 2020-03-20 15:36 |只看该作者
回复 1# aaaa_123


  1. cat 1
  2. [456464278640]
  3. a
  4. o
  5. Version=122121212
  6. $2=007962CF91FB515
  7. $5=0FB515C006
  8. $7=00B36C0A03A005C

  9. cat 2
  10. $1=000786A6F0

  11. $3=03B0676F0AD8E

  12. $6=0300

  13. awk -F"=" 'FILENAME==ARGV[1]{if(NF>0){a[$1]=$0};next}!b{print;if($0~/Version/){b=1;next}}b{a[$1]=$0}END{for(i in a){print a[i]}}' 2 1
  14. [456464278640]
  15. a
  16. o
  17. Version=122121212
  18. $1=000786A6F0
  19. $2=007962CF91FB515
  20. $3=03B0676F0AD8E
  21. $5=0FB515C006
  22. $6=0300
  23. $7=00B36C0A03A005C
复制代码

评分

参与人数 1信誉积分 +10 收起 理由
飘絮絮絮丶 + 10 赞一个!

查看全部评分

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP