Se você tem uma string em uma variável em um script e você gostaria de extrair o último campo (como você diz no título da pergunta), então você pode fazer
field=${string##* }
Isso pressupõe que a string em $string
seja separada por espaços (altere o espaço na substituição de variável acima para qualquer delimitador que estiver usando). A substituição da variável ${variable##pattern}
remove a string de prefixo mais longa de $variable
que corresponde ao dado pattern
.
Com sed
em um arquivo, o seguinte extrairia o último campo separado por espaço em branco de cada linha:
sed 's/^.*[[:space:]]//' data.in
Ele faz isso excluindo tudo até e incluindo o último caractere de espaço em branco em cada linha. Altere [[:space:]]
para uma expressão regular que corresponda ao delimitador antes da última coluna se seus dados não usarem tabulações ou espaços como delimitadores.