Isso captura as informações desejadas da última linha de file :
$ IFS=, read -r a b c var_1 var_2 d e f h var_3 extra < <(tail -n1 file)
$ echo $var_1 $var_2 $var_3
TMX6BP 075 179583
Como funciona
-
IFS=,Isso define temporariamente o separador de campo para uma vírgula.
-
read -r a b c var_1 var_2 d e f h var_3 extraIsto lê os campos para as variáveis listadas. Você pode escolher qualquer nome que quiser.
Acima, o primeiro campo é atribuído à variável do shell
a, o segundo aob, etc. Tudo o que sobrou depois quevar_3é atribuído à variável do shellextra. -
< <(tail -n1 file)Isso fornece a última linha de
filecomo entrada padrão para o comandoread. O primeiro<é o símbolo da shell para redirecionamento. A construção<(...)é chamada de substituição de processo. O espaço entre o primeiro e o segundo<é essencial .