AWK Impression de la Deuxième Colonne de la Dernière Ligne
Je suis en train d'utiliser AWK pour poster la deuxième ligne de la dernière ligne de cette commande (le total d'espace disque):
df --total
La commande que j'utilise est:
df --total | awk 'FNR == NF {print $2}'
Mais il n'a pas obtenir de droit.
Est-il une autre façon de le faire?
- Vous pouvez également utiliser
--output
pour indiquer les champs exacts que vous souhaitez imprimer. Par exemple,df --output=size | tail -1
. Plus d'infos dans Comment sélectionner une colonne spécifique à linux commande df
Vous devez vous connecter pour publier un commentaire.
Vous êtes à l'aide de la variable awk NF est le Nombre de Champs. Vous pourriez dire la NR, Nombre de Lignes, mais il est plus facile de l'utiliser juste la FIN:
END
ainsi. Pourriez-vous expliquer pourquoiEND
est nécessaire?END
il imprime juste le 2ème champ à partir de la dernière ligne.Vous pouvez utiliser
tail
d'abord, puis utiliserawk
:Une façon de le faire est avec un
tail/awk
combinaison, l'ancien afin d'obtenir la dernière ligne, le dernier impression de la deuxième colonne:Un pur-
awk
solution est tout simplement de stocker la deuxième colonne de chaque ligne et de l'imprimer à la fin:Ou, depuis le dernier colonnes sont maintenus dans l'
END
bloc à partir de la dernière ligne, il suffit de:$2
une variable, il suffit de l'imprimer en fin de section.awk n'a pas de notion de "c'est la dernière ligne". sed fait: