忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 1138 | 回复: 2

[文本处理] 三目三眼三三删 [复制链接]

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
发表于 2018-06-10 07:58 |显示全部楼层
# [ /home/soio/1bs/awks ] {2018-06-10 07:24:00}
: 1528586640:0;➜  awk 'function p(){if($0){match($0,"^([^@]*)(@+|$)",a);b[++i]=a[1];b[++i]=a[2]?"[@]"length(a[2]) FS:"";gsub("^([^@]*)(@+|$)","");p()}else{for(j=1;j<=i;j++){c=c?c""b[j]:b[j]};print c}}{p()}' kk.kf
1-2[@]7 sss[@]6 ssssssss[@]13 dd[@]9 f
1-2[@]7 sss[@]6 ssssssss[@]13 dd[@]9 f1-2[@]7 sss[@]6 ssssssss[@]13 dd[@]9 fee[@]8 eeee[@]12 eeeeeee[@]9 ff
1-2[@]7 sss[@]6 ssssssss[@]13 dd[@]9 f1-2[@]7 sss[@]6 ssssssss[@]13 dd[@]9 fee[@]8 eeee[@]12 eeeeeee[@]9 ff1-2[@]7 sss[@]6 ssssssss[@]13 dd[@]9 fee[@]8 eeee[@]12 eeeeeee[@]9 ff


# [ /home/soio/1bs/awks ] {2018-06-10 07:24:11}
: 1528586651:0;➜  cat kk.kf
1-2@@@@@@@sss@@@@@@ssssssss@@@@@@@@@@@@@dd@@@@@@@@@f
ee@@@@@@@@eeee@@@@@@@@@@@@eeeeeee@@@@@@@@@ff


#上面的代码我测试好多次了,基本不用测试
a>b?b:c  [三目运算符] 相当与 if {} else {}
那整个相当与 if {} else {} 嵌套循环

球的是
1-2[@]7 sss[@]6 ssssssss[@]13 dd[@]9 fee[@]8 eeee[@]12 eeeeeee[@]9 ff

1-2[@]7 sss[@]6 ssssssss[@]13 dd[@]9 f
ee[@]8 eeee[@]12 eeeeeee[@]9 ff


论坛徽章:
3
15-16赛季CBA联赛之青岛
日期:2018-07-09 14:17:2815-16赛季CBA联赛之八一
日期:2018-08-06 15:30:0515-16赛季CBA联赛之广东
日期:2018-08-09 09:11:21
发表于 2018-06-10 15:42 |显示全部楼层
本帖最后由 christmas1102 于 2018-06-10 19:43 编辑

需要 AWK 4.0+
  1. awk '{split($0,a,"[@]+",b);for(i in a){printf a[i];if(b[i]){printf "[@]"length(b[i])" "}}print ""}' FILE
复制代码


AWK 3.0+
  1. awk '{split($0,a,"[@]+");gsub(/[^@]+/," ",$0);for(i=1;i<=length(a);i++){printf a[i];if($i){printf "[@]"length($i)" "}}print ""}' FILE
复制代码


论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
发表于 2018-06-10 16:20 |显示全部楼层
本帖最后由 1cpuer 于 2018-06-10 16:36 编辑

回复 2# christmas1102

a, b 第2个不懂
3可
在小男人百科全书里找到了  split  s a [r [seps]]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

第67期:Neo4j图数据库平台架构最佳实践
【微学堂】10月18日 20:00(周四)

当下,数据的规模和类型每时每刻都在呈几何级数的增长,仅能够管理大量的数据是不够的,关键是能从海量数据中发掘出有用的信息,特别是数据之间的关联,能高效存储和处理数据之间关联的新型数据库为图数据库。 本讲座将介绍Neo4j图数据库的基本概念、设计特点、架构和经典应用场景实战分享。

进入课堂>>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP