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}'