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

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



