Board logo

标题: [问题求助] 有关gawk学习的问题 [打印本页]

作者: shootman2    时间: 2015-4-10 08:52     标题: 有关gawk学习的问题

昨天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
作者: pcl_test    时间: 2015-4-10 09:30

在win用双引括起来
  1. gawk "{if (NF > max) max = NF} END {print max}" "测试文本"
复制代码

作者: pcl_test    时间: 2015-4-10 09:43

  1. echo 1 2 3 4 5 6 | gawk "{if (NF > max) max = NF} END {print max}"
复制代码

作者: gawk    时间: 2015-4-10 10:37

教程上讲的是Linux的语法。在Windows里面原来的命令界定符单引号需要改成双引号,原来的双引号需要加上转义。例如:
  1. gawk "BEGIN{print \"hello world\"}"
复制代码

作者: tommytangtang    时间: 2015-4-10 10:52

我现在有时用vb生成bat,里面带gawk命令,用shell执行
vb里面需要的引号更多。。。。晕倒了
作者: shootman2    时间: 2015-4-10 13:03

回复 4# gawk


    您应该是gawk界的大神!!!一句话直中要害!!! 赞一个!
作者: gawk    时间: 2015-4-10 13:21

回复 6# shootman2


    这只是基础知识
作者: shootman2    时间: 2015-4-10 21:45

回复 4# gawk


    gawk大神,能提供些gawk的学习资料吗?跪求!
作者: 无名小卒    时间: 2015-4-10 22:30

同求,最好是windows的
作者: shootman2    时间: 2015-4-10 22:33

回复 4# gawk

求助大神,像gawk实例中的这种语句,在windows命令行下该怎么执行?多行!
gawk 'BEGIN {
for (x=0; x<=20; x++) {
if (x==5)
continue
printf ("%d",x)
}
print ""
}'
作者: bailong360    时间: 2015-4-10 23:48

回复 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 \"\"}"
复制代码

作者: pcl_test    时间: 2015-4-15 01:10

问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2