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

ChinaUnix.net

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

[文本处理] kiki --awk 改写 if {} else {} .. [复制链接]

论坛徽章:
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-06 19:54 |显示全部楼层
本帖最后由 1cpuer 于 2018-06-06 21:49 编辑

awk 'BEGIN { a = 10; b = 20; (a < b) ? a : b; print a}'
10
awk 'BEGIN { a = 10; b = 20; if(a <= b){print "ok";}else{print "error"}}'
ok


# [ /home/soio/1bs/awks ] {2018-06-06 20:19:06}
: 1528287546:0;➜  awk 'BEGIN { c=2;b=3;j=4;d=c" "b[j];e=b[j]; if(c=c){print d}else{print e}}' && xx
awk: 命令行:1: 致命错误: attempt to use scalar `b' as an array


{c=c?c""b[j]:b[j]};print c}

echo "tt22hhHHjjjkkk jjjj 2-4.1 jjjjjssjjjjjjj"|awk 'function p(){if($0){match($0,"^([^j]*)(j{3,})",a);b[++i]=a[1];b[++i]=a[2]?"[j]"length(a[2]):"";gsub("^([^j]*)(j{3,}|$)","");p()}else{for(j=1;j<=i;j++){c=c?c""b[j]:b[j]};print c}}{p()}'

上面改成没有 三目运算符 [ a >=< b ? b : c ] 被 function p() 函数限定了,wow 很难改过

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

本版积分规则

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP