To dobre pytanie i choć odpowiedź pokazuje, że $został zgubiony, nie jestem pewien, czy powinien zostać zamknięty jako literówka. Ostatnio widziałem kilka z nich, więc być może potrzebujemy kanonicznego
roaima,
Odpowiedzi:
45
Zmienne są przywoływane przez nazwę jak w var, a nie $varw awk. $nodnosi się do pola nth : dla pierwszego pola, dla drugiego ... lub całego rekordu dla == 0 ( to pełny rekord).$1$2n$0
To nie muszą być dosłowne liczby. Możesz użyć $(1+1)lub $variable. Jeśli variablezawiera 1, $variablebędzie to pierwsze pole. Często używane jest $NFdla ostatniego pola ( NFjest to specjalna zmienna, która zawiera liczbę pól).
Jeśli, jak w twoim przykładzie, zmienna nie zawiera liczby, ta liczba jest rozumiana jako 0.
Tak więc var="content"; print $varjest to samo var=0; print $var, a więc to samo print $0, co wydrukować cały rekord.
$
z $ var$
został zgubiony, nie jestem pewien, czy powinien zostać zamknięty jako literówka. Ostatnio widziałem kilka z nich, więc być może potrzebujemy kanonicznegoOdpowiedzi:
Zmienne są przywoływane przez nazwę jak w
var
, a nie$var
wawk
.$n
odnosi się do polan
th : dla pierwszego pola, dla drugiego ... lub całego rekordu dla == 0 ( to pełny rekord).$1
$2
n
$0
To nie muszą być dosłowne liczby. Możesz użyć
$(1+1)
lub$variable
. Jeślivariable
zawiera1
,$variable
będzie to pierwsze pole. Często używane jest$NF
dla ostatniego pola (NF
jest to specjalna zmienna, która zawiera liczbę pól).Jeśli, jak w twoim przykładzie, zmienna nie zawiera liczby, ta liczba jest rozumiana jako 0.
Tak więc
var="content"; print $var
jest to samovar=0; print $var
, a więc to samoprint $0
, co wydrukować cały rekord.Tutaj chcesz:
źródło