这个例子中 awk 中的数组索引是什么意思?

问题描述 投票:0回答:1

在此页面 https://www.gnu.org/software/gawk/manual/html_node/More-CSV.html,让此示例在 awk 上使用 csv 文件。

这个例子效果很好!

但是,我无法理解这段代码中的

fpat+0

BEGIN {
     fp[0] = "([^,]+)|(\"[^\"]+\")"
     fp[1] = "([^,]*)|(\"[^\"]+\")"
     fp[2] = "([^,]*)|(\"([^\"]|\"\")+\")"
     FPAT = fp[fpat+0]
}

这意味着什么?

linux awk
1个回答
0
投票

从OP的链接我们看到

gawk
脚本是如何调用的:

$ gawk -v fpat=2 -f test-csv.awk sample.csv

如果用户提供以下其中一项,会发生什么:

  • 没有提供
    -v fpat=...
    条款
  • 提供
  • -v fpat=some_non_numeric

fpat+0
通过在两种情况下生成
0
来处理这两种情况,这又意味着
fp[0]
成为 default 模式。

© www.soinside.com 2019 - 2024. All rights reserved.