nifle@megamart ~/tmp
$ echo "SHG_PS_RG_10.tif
ABC_MFCL_NHG_PS_RG_af_04.tif
SHG_PS_RG_af_01.tif
CBC_MFCL_NHG_PS_RG_af_03.tif" > foo.txt
nifle@megamart ~/tmp
$ awk -F "_" '{print $NF,$0}' foo.txt | sort -n | cut -f2- -d' '
SHG_PS_RG_af_01.tif
CBC_MFCL_NHG_PS_RG_af_03.tif
ABC_MFCL_NHG_PS_RG_af_04.tif
SHG_PS_RG_10.tif
Explicação
-
-F "_"diz ao awk que usamos '_' como separador de campos -
$NFé awk'ish para o último campo10.tif -
$0é awk'ish para toda a entradaSHG_PS_RG_af_01.tif -
, então esse
'{print $NF,$0}'imprime10.tif SHG_PS_RG_10.tifQuando temos
10.tif SHG_PS_RG_10.tif, é fácil fazersort -ne, em seguida, usamoscut -f2- -d' 'para imprimir apenas a segunda coluna.