找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22073|回复: 11

[问题求助] 有关gawk学习的问题

[复制链接]
发表于 2015-4-10 08:52:25 | 显示全部楼层 |阅读模式
昨天CRLF大神介绍了一下gawk工具,随上网找了点资料学习了一下,完事又产生了N多问题,
想咨询一下论坛里牛人。

http://bbs.chinaunix.net/thread-288389-1-1.html

gawk '{if (NF > max) max = NF}
END {print max}'

上面的这个语句,我该怎么在命令行窗口里执行呢?

debug>gawk '{if (NF > max) max = NF} END {print max}'
gawk: cmd. line:1: '{if
gawk: cmd. line:1: ^ invalid char ''' in expression
发表于 2015-4-10 09:30:00 | 显示全部楼层
在win用双引括起来
  1. gawk "{if (NF > max) max = NF} END {print max}" "测试文本"
复制代码
发表于 2015-4-10 09:43:16 | 显示全部楼层
  1. echo 1 2 3 4 5 6 | gawk "{if (NF > max) max = NF} END {print max}"
复制代码
发表于 2015-4-10 10:37:56 | 显示全部楼层
教程上讲的是Linux的语法。在Windows里面原来的命令界定符单引号需要改成双引号,原来的双引号需要加上转义。例如:
  1. gawk "BEGIN{print "hello world"}"
复制代码
发表于 2015-4-10 10:52:30 | 显示全部楼层
我现在有时用vb生成bat,里面带gawk命令,用shell执行
vb里面需要的引号更多。。。。晕倒了
 楼主| 发表于 2015-4-10 13:03:52 | 显示全部楼层
回复 4# gawk


    您应该是gawk界的大神!!!一句话直中要害!!! 赞一个!
发表于 2015-4-10 13:21:16 | 显示全部楼层
回复 6# shootman2


    这只是基础知识
 楼主| 发表于 2015-4-10 21:45:37 | 显示全部楼层
回复 4# gawk


    gawk大神,能提供些gawk的学习资料吗?跪求!
发表于 2015-4-10 22:30:15 | 显示全部楼层
同求,最好是windows的
 楼主| 发表于 2015-4-10 22:33:26 | 显示全部楼层
回复 4# gawk

求助大神,像gawk实例中的这种语句,在windows命令行下该怎么执行?多行!
gawk 'BEGIN {
for (x=0; x<=20; x++) {
if (x==5)
continue
printf ("%d",x)
}
print ""
}'
发表于 2015-4-10 23:48:55 | 显示全部楼层
回复 10# shootman2


http://cndos.fam.cx/forum/viewthread.php?tid=24225

10楼可以保存为一个awk脚本然后用"gawk -f 脚本"来执行
或者写成一行
  1. gawk "BEGIN {for (x=0; x<=20; x++) {if (x==5)continue;printf ("%d",x)}print ""}"
复制代码
发表于 2015-4-15 01:10:25 | 显示全部楼层
问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:33 , Processed in 0.029350 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表