Es una buena pregunta y, aunque la respuesta muestra que $se extravió, no estoy seguro de que deba cerrarse como error tipográfico. He visto varios de estos recientemente, así que tal vez necesitemos uno canónico
Roaima
Respuestas:
45
Se hace referencia a las variables por nombre como en var, no $varen awk. $nse refiere al campo nth : para el primer campo, para el segundo ... o el registro completo para == 0 ( es el registro completo).$1$2n$0
Esos no tienen que ser números literales. Puedes usar $(1+1)o $variable. Si variablecontiene 1, entonces $variableserá el primer campo. Una de uso común es $NFpara el último campo ( NFes la variable especial que contiene el número de campos).
Si, como en su ejemplo, la variable no contiene un número, ese no número se entiende como 0.
Entonces var="content"; print $var, es lo mismo y var=0; print $var, por lo tanto, lo mismo print $0que imprimir todo el registro.
$
de $ var$
se extravió, no estoy seguro de que deba cerrarse como error tipográfico. He visto varios de estos recientemente, así que tal vez necesitemos uno canónicoRespuestas:
Se hace referencia a las variables por nombre como en
var
, no$var
enawk
.$n
se refiere al campon
th : para el primer campo, para el segundo ... o el registro completo para == 0 ( es el registro completo).$1
$2
n
$0
Esos no tienen que ser números literales. Puedes usar
$(1+1)
o$variable
. Sivariable
contiene1
, entonces$variable
será el primer campo. Una de uso común es$NF
para el último campo (NF
es la variable especial que contiene el número de campos).Si, como en su ejemplo, la variable no contiene un número, ese no número se entiende como 0.
Entonces
var="content"; print $var
, es lo mismo yvar=0; print $var
, por lo tanto, lo mismoprint $0
que imprimir todo el registro.Lo que quieres aquí es:
fuente