awk脚本文件中每条命令末尾是否必须添加分号?
awk脚本中是否需要给每条命令加末尾分号?
awk里不是必须给每条命令末尾都加分号,分号的使用取决于命令的排版方式:
- 如果多条命令写在同一行,必须用分号分隔,否则会触发语法错误,比如:
a=1; b=2; print a+b - 如果每条命令单独占一行,分号完全是可选的。你给出的示例代码,即使去掉每行末尾的分号,脚本依然能正常运行:
title = gensub (beg_ere, "\\2", 1, $0) subtitle = gensub (beg_ere, "\\3", 1, $0) keywords = gensub (beg_ere, "\\4", 1, $0) nu = split (ukeys, uaggr, ",") nk = split (keywords, kaggr, ",")
- 另外在
{}代码块内的单行多命令场景,分号是必须的,比如{print $1; next}
很多开发者习惯在每行末尾加分号,主要是为了保持代码风格统一,或者方便后续把多行命令合并成一行时不用补分号,这属于编码规范范畴,而非语法强制要求。
内容的提问来源于stack exchange,提问作者Dilna
相关产品推荐
相关产品推荐

