Awk

‘記錄了什麼rc__r和Crec=(記錄中的記錄)?記錄rc__r和Crec: func(rec) ’ awk 中的命令是什麼意思?

  • March 22, 2022

誰能告訴我這個表達式在 awk 中是什麼意思?

records[rec] = (rec in records) ? records[rec] : func(rec)
rec in records

rec如果已用作關聯數組中的索引,records則計算為真值,否則計算為假。

(rec in records) ? records[rec] : func(rec)

使用三元運算符,如果存在這樣的值,則計算為records[rec](與in關聯rec``recordsfunc(rec)的值),否則計算結果。

records[rec] = (rec in records) ? records[rec] : func(rec)

將結果儲存在records[rec].

這相當於

if (!(rec in records)) records[rec] = func(rec)

但如果值已經存在,則沒有賦值;,如果索引不存在,則儲存func(rec)in的結果。records[rec]``rec``records

引用自:https://unix.stackexchange.com/questions/696343