Estes comandos irão imprimir a última coluna de um arquivo separado por espaços:
-
awk '{print $NF}' file
em awk , NF é o número de campos e $NF é o último campo.
-
perl -lane 'print $F[$#F]' file
-a divide o arquivo no espaço em branco no array @F , $#F é o número de elementos no array, então $F[$#F] é o último elemento. O -n significa ler o arquivo fornecido na linha de comando e aplicar o script passado com -e a cada linha. -l apenas adiciona um caractere de nova linha ( \n ) a cada instrução print .
-
sed 's/.* //g'
uma expressão regular simples que combina tudo com o último espaço e o exclui, deixando apenas a última coluna.
-
rev file | cut -d' ' -f 1 | rev
rev inverte sua saída para que o último campo seja o primeiro, cut com espaço delimitador para imprimi-lo e rev para reverter o texto de volta ao normal. Isso ganhou
Não trabalhe se você tiver espaços em branco consecutivos .
Com base em sua opinião, acredito que você não queira a última coluna, mas a penúltima ou as duas últimas. Nesse caso, use-os para imprimir os 2 últimos ( 8.39 Mbits/sec ):
awk '{print $(NF-1),$NF}' file
perl -lane 'print "$F[$#F-1] $F[$#F]"' file
sed 's/.* \(.* .*\)//' file
rev file | cut -d' ' -f 1,2 | rev
e estes para imprimir o penúltimo ( 8.39 ):
awk '{print $(NF-1)}' file
perl -lane 'print $F[$#F-1]' file
sed 's/.* \(.*\) .*//' file
rev file | cut -d' ' -f 2 | rev