gpt4 book ai didi

awk - 在循环内使用 getline

转载 作者:行者123 更新时间:2023-12-04 19:24:49 28 4
gpt4 key购买 nike

考虑这个脚本

#!awk -f
BEGIN {
"date" | getline foo
print foo
}

它将按预期打印当前日期。但是如果你把它放在一个循环中
#!awk -f
BEGIN {
while (1) {
"date" | getline foo
printf "%s\r", foo
}
}

它只是重复打印相同的日期。我想捕捉外部
命令在循环中使用 getlinesystem

最佳答案

您需要关闭该进程才能让 awk 再次生成它。

BEGIN {
while (1) {
"date" | getline foo
printf "%s\n", foo
close("date")
}
}

我希望您原件中的后续阅读实际上在 EOF 上失败并离开 foo未设置。
$ awk 'BEGIN {
while (1) {
print "ret: " ("date" | getline foo)
printf "%s\n", foo
}
}'
ret: 1
Fri Nov 28 15:17:07 EST 2014
ret: 0
Fri Nov 28 15:17:07 EST 2014

关于awk - 在循环内使用 getline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27194890/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com