Awk编程中的特殊文件、输入输出处理及表达式解析
1. 标准预打开数据流的特殊文件
在常规编程中,运行的程序通常有三个用于读写的输入输出流,分别是标准输入、标准输出和标准错误输出。这些打开的流(以及其他打开的文件或管道)通常用术语“文件描述符”来指代。
默认情况下,这些流连接到键盘和屏幕,但它们经常可以通过 shell 中的 < 、 << 、 > 、 >> 、 >& 和 | 等操作符进行重定向。标准错误通常用于写入错误消息,标准输出和标准错误使用两个独立的流,这样它们可以分别进行重定向。
在传统的 awk 实现中,在 awk 程序里将错误消息写入标准错误的唯一方法如下:
print "Serious error detected!" | "cat 1>&2"
这种方法通过打开一个到 shell 命令的管道来访问从 awk 进程继承的标准错误流。但这种方法不够优雅,并且还需要一个单独的进程。所以编写 awk 程序的人通常不这么做,而是将错误消息发送到屏幕,如下所示:
print "Serious error detected!" > "/dev/tty"
这里的 /dev/tty 是
超级会员免费看
订阅专栏 解锁全文
4

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



