[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[已解决]请问在批处理里怎么用awk的if和printf

本帖最后由 flyegg 于 2016-1-25 16:38 编辑

有个文件txt1比如:
1 111.11 222.22
2 33.33 44.44
3 555.55 666.66
我想将第1列中大于1的行,把第3列减第2列得的差大于100的列出来。
awk '{if($1>1) printf"%s %.2f %.2f %.2f\n",$1,$2,$3,$4}' txt1.txt
用这个怎么运行不了?
if 和 printf 不能这样直接用?

既然是win环境使用,你就需兼顾批处理语法
gawk "{if($1>1&&($3-$2)>100)printf \"%%s %%.2f %%.2f %%.2f\n\",$0,$1,$2,$3}" a.txt

TOP

谢谢,会了。
再请问一下,if里可以引用外部变量吗?比如:
把$1>1换成$1>%a?

TOP

回复 3# flyegg

可以。怎么实现?自己查资料吧

TOP

谢谢,我找找,不会再请教。

TOP

返回列表