输入重定向(getline)
getline 函数用来从标准输入,例如管道或者文件来读入数据,而不是
从正被处理的当前文件。getline 取得输入的下一行,并更新NF、NR
和FNR等内置变量的值。如果getline找到记录则返回1,达到EOF(文
件结束)则返回0。如果有错误则返回-1。
举例1:
$ nawk 'BEGIN{"date"|getline d;print d}' datafile
2005年05月06日 星期五 15时05分41秒 CST
解释:执行date命令,然后把输出从管道送到getline,并赋给自
定义变量d,然后打印d。
举例2:
$nawk 'BEGIN{while("ls"|getline) print}'
awk.sc2
datafile
datafile2
employees
employees2
lab5.data
names
passwd
解释:将把ls的输出送到getline。对于每次循环,getline都从
ls读取一个以上输出,然后打印到屏幕上
好像getline不认得,运行不了。