msoliver
(usa Debian)
Enviado em 02/06/2021 - 17:14h
Felipe09 escreveu:
Fala galera,
Estou tentando fazer uma substring em um campos do meu arquivo mas de tras para frente. Eu não sei a sintaxe alguém consegue ajudar?
presisava pegar os 9 caracteres de tras para frente.
210045998872732
2104344999938960
2104314991206840
21901544988167800
presisava pegar os 9 caracteres de tras para frente.
Ao meu entender,
de trás para frente., é inverso ou ao contrário, logo:
var='210045998872732'
echo $var|rev
Para "pegar" os nove caracteres,
só usar o "bash".
----------------------------------------------------------------------------------
var='abcdefg123456789'
var00=${var:0:$((${#var}-9))}
echo "${var00}$(rev <<< ${var:(-9)})"
abcdefg987654321
Com awk:
var01=$(awk -F "" '{for(n=NF;n>0;n--)printf "%s" ,$n}' <<< "${var:(-9)}")
echo ${var00}${var01}
abcdefg987654321
Se, é somente inverter a ordem.....colocando os nove caracteres finais, no início....
echo "${var:(-9)${var00}}"
-----------------------------------------------------------------------------------------------------------