Answers:
我真的不喜欢这些类型的快捷方式,因为它混淆并误导了它的解析方式。当您阅读类似的内容时awk -F"=" '{OFS="=";gsub(",",";",$2)}1'
,您可能会认为1
正在修改前面的语句。或者您可能会认为1
是的别名{print}
,从技术上讲这是不正确的。
实际上,1
是一个完全独立的语句。您可以这样分隔语句:
awk -F"=" '
{OFS="="; gsub(",",";",$2)}
1
'
每个awk语句格式为condition {action}
。如果没有{action}
给出,则默认操作为{print}
。(如果没有condition
给出,则默认条件为true
。)
因此,这里1
是条件,true
由于它不为零,因此总会求和。将action
被省略,因此默认{print}
进行。您可以这样想:
awk -F"=" '
{OFS="="; gsub(",",";",$2)}
1!=0 {print}
'
awk -F"=" '{OFS="=";gsub(",",";",$2)}{print}'