Se você tem apenas dois campos:
awk -F- '{print $2"-"$1}' file
- Imprime apenas o segundo campo, seguido por um traço, seguido pelo primeiro campo.
Ou com o bash:
while IFS="-" read -r a b; do echo "$b-$a"; done <file
-
IFSdefine o valor do separador de campo interno de bashs. -
readlê a linha de entrada por linha e salva o primeiro campo no vairable$ae o segundo campo em$b. -
echo, em seguida, imprime os dois com um traço. -
<filefornece o conteúdo defilecomo entrada.
Se o número de campos não for sempre o mesmo:
awk -F- 'OFS="-"{c=1;for(i=NF;i>=1;i--){a[c]=$i;c++}for(i=1;i<=NF;i++){$i=a[i]}}1' file