Awk编程:从基础到实践
一、Awk程序的引号使用注意事项
在编写短到中等规模的Awk程序时,为了让shell脚本自包含,通常会用单引号将程序括起来。但要注意,不要在注释或程序的其他地方使用单引号(撇号)。因为shell会将这个单引号解释为整个程序的结束引号,从而导致引号不匹配的错误信息。例如:
$ awk 'BEGIN { print "hello" } # let's be cute'
>
shell会认为前两个引号匹配,而在命令行末尾开始了一个新的引号对象,因此会给出二级提示符等待更多输入。使用Unix awk时,关闭引号字符串会产生如下结果:
$ awk '{ print "hello" } # let's be cute'
> '
error→ awk: can't open file be
error→ source line number 1
在 let's 的单引号前加反斜杠也无济于事,因为在单引号内反斜杠没有特殊含义。
二、shell引号规则
对于短到中等长度的Awk程序,在awk命令行输入程序是最方便的,最好将整个程序用单引号括起来,无论是在shell提示符下交互式输入,还是作为大型shell脚本的一部分编写。在使用shell时,了解shell引号规则很有帮助,以下规则仅适用于符合POSIX标准的Bourne风格的shell(如Bash)。
1. 空字符串
超级会员免费看
订阅专栏 解锁全文
240

被折叠的 条评论
为什么被折叠?



