gpt4 book ai didi

awk - 为什么 awk 中的 "1"打印当前行?

转载 作者:太空宇宙 更新时间:2023-11-04 12:40:44 24 4
gpt4 key购买 nike

this answer ,

awk '$2=="no"{$3="N/A"}1' file

被接受了。请注意 AWK 脚本末尾的 1。在评论中,答案的作者说

[1 is] a cryptic way to display the current line.

我很困惑。它是如何工作的?

最佳答案

awk 中,

因为 1 总是评估为 true,它执行默认操作 {print $0},因此打印存储在 中的当前行$0

所以,awk '$2=="no"{$3="N/A"}1' file 等同于的简写

awk '$2=="no"{$3="N/A"} {print $0}' file

同样,$0print 的默认参数,因此您也可以这样写

awk '$2=="no"{$3="N/A"} {print}' file

事实上,您还可以使用任何非零数字或任何始终评估为 true 的条件来代替 1

关于awk - 为什么 awk 中的 "1"打印当前行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40296764/

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