awk gsub 和神秘的“1”

Awk gsub and the mysterious "1"

我认为这是一个更普遍的理解问题,但这是我的问题: 如果我 运行 在终端中执行以下命令:

awk'{gsub("a","H")}1'

关于文件 marks.txt:

1) 阿米特物理学 80
2) 拉胡尔数学 90
3) 希亚姆生物学 87
4) 凯达英语 85
5) 哈里历史 89

我得到以下结果:

1) 阿米特物理学 80
2) RHhul MHths 90
3) ShyHm 生物学 87
4) KedHr 英语 85
5) HHri 历史 89

但是如果我 运行 它没有那个“1”,我什么也得不到。

awk '{gsub("a","H")}'

为什么这一个如此重要,它代表什么?

提前致谢!

Awk 处理 condition { action } 表达式,其中默认操作是 print [=11=]。当您将 1 写为条件时,该条件为真,因此会调用打印当前记录的默认操作。