当前位置: 技术问答>linux和unix
关于awk shell
来源: 互联网 发布时间:2017-01-16
本文导语: 大家好!我写了一个很简单的Shell: #!/bin/awk -f BEGIN { print "$0 test0:", $0; } 有一个文件,内容如下: 85#Junior 87#Senior 75#Senior 86#Junior 81#Senior 请问两个问题: 1.为什么执行:./awk_array.sh grade.txt,没有文本打印出...
大家好!我写了一个很简单的Shell:
#!/bin/awk -f
BEGIN {
print "$0 test0:", $0;
}
有一个文件,内容如下:
85#Junior
87#Senior
75#Senior
86#Junior
81#Senior
请问两个问题:
1.为什么执行:./awk_array.sh grade.txt,没有文本打印出来呢?当我把文件改为
#!/bin/awk -f
BEGIN {
#print "$0: test0", $0;
}
{
print "$0: test1", $0;
}
END{
print "$0: test2", $0;
}
这样却有文本打印出?awk Shell方面的语法结构是怎样的?
2.我想学习Shell方面的编程,尤其是awk Shell方面的,请问有什么实用的教程可以推荐呢?
谢谢大家!
#!/bin/awk -f
BEGIN {
print "$0 test0:", $0;
}
有一个文件,内容如下:
85#Junior
87#Senior
75#Senior
86#Junior
81#Senior
请问两个问题:
1.为什么执行:./awk_array.sh grade.txt,没有文本打印出来呢?当我把文件改为
#!/bin/awk -f
BEGIN {
#print "$0: test0", $0;
}
{
print "$0: test1", $0;
}
END{
print "$0: test2", $0;
}
这样却有文本打印出?awk Shell方面的语法结构是怎样的?
2.我想学习Shell方面的编程,尤其是awk Shell方面的,请问有什么实用的教程可以推荐呢?
谢谢大家!
|
在BEGIN语句块里面awk还没有开始读文件内容,所以$0为空
O'Reilly sed & awk 2nd Edition 英文版
http://bbs.chinaunix.net/viewthread.php?tid=1588614#pid11286082
O'Reilly sed & awk 2nd Edition 中文高清修订第3版
http://bbs.chinaunix.net/thread-1743038-1-1.html
O'Reilly sed & awk 2nd Edition 英文版
http://bbs.chinaunix.net/viewthread.php?tid=1588614#pid11286082
O'Reilly sed & awk 2nd Edition 中文高清修订第3版
http://bbs.chinaunix.net/thread-1743038-1-1.html
|
awk 总体来说就是模式+动作
BEGIN 是一个特殊的模式,表示在文件处理之前匹配
END 是一个特殊的模式,表示在文件处理之后匹配
没有模式的动作会全部匹配执行
BEGIN 是一个特殊的模式,表示在文件处理之前匹配
END 是一个特殊的模式,表示在文件处理之后匹配
没有模式的动作会全部匹配执行