SED - IMPRIMIR OS 5 PRIMEIROS CARACTERES [RESOLVIDO]

1. SED - IMPRIMIR OS 5 PRIMEIROS CARACTERES [RESOLVIDO]

Patrick Carpezani
patrickcarpezani

(usa Debian)

Enviado em 18/02/2023 - 20:28h

Boa noite pessoal!
Tudo bem? Espero que sim

Estou com dificuldade para utilizar o SED para imprimir os 5 primeiros caracteres de uma string, exemplo.

String 37ecb62f912e85ac16faf220a3d3tgrg25y46352ge2 (dentro de um arquivo)

Resultado: 37ecb

Obs.: E como ficaria ao contrário, ou seja, os 5 últimos caracteres.

Resultado: 52ge2


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 18/02/2023 - 21:13h


patrickcarpezani escreveu:

Boa noite pessoal!
Tudo bem? Espero que sim

Estou com dificuldade para utilizar o SED para imprimir os 5 primeiros caracteres de uma string, exemplo.

String 37ecb62f912e85ac16faf220a3d3tgrg25y46352ge2 (dentro de um arquivo)

Resultado: 37ecb

Obs.: E como ficaria ao contrário, ou seja, os 5 últimos caracteres.

Resultado: 52ge2

Boa noite Patrick, segue sugestão:
string='37ecb62f912e85ac16faf220a3d3tgrg25y46352ge2';
#Cinco iniciais:
sed 's/.//6g' <<< "$string" 

Cinco finais:
n=$((${#string}-5))
sed -r "s/^.{$n}//" <<< "$string"

#O bash faz isso.....
Veja: https://aurelio.net/shell/canivete/#expansao
echo ${string:0:5}
37ecb
echo ${string:$n:5}
52ge2

É isso....



______________________________________________________________________
Importante:
Se te ajudei.... Retribua, é simples,
Após marcar o tópico como resolvido,
escolha a Melhor Resposta.
______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: SED - IMPRIMIR OS 5 PRIMEIROS CARACTERES [RESOLVIDO]

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 18/02/2023 - 20:28h

Boa noite!

Para imprimir os 5 primeiros caracteres de uma string (ou de um arquivo) utilizando o SED, basta usar o seguinte comando:

sed 's/^\(.....\).*/\1/' arquivo.txt

Ele irá imprimir os 5 primeiros caracteres da string. Para imprimir os 5 últimos caracteres ao contrário, basta usar o seguinte comando:

sed 's/\(.....$\).*/\1/' arquivo.txt

Espero ter ajudado. Abraços!


4. Re: SED - IMPRIMIR OS 5 PRIMEIROS CARACTERES [RESOLVIDO]

Patrick Carpezani
patrickcarpezani

(usa Debian)

Enviado em 18/02/2023 - 20:41h


alexabolada escreveu:

Boa noite!

Para imprimir os 5 primeiros caracteres de uma string (ou de um arquivo) utilizando o SED, basta usar o seguinte comando:

sed 's/^\(.....\).*/\1/' arquivo.txt

Ele irá imprimir os 5 primeiros caracteres da string. Para imprimir os 5 últimos caracteres ao contrário, basta usar o seguinte comando:

sed 's/\(.....$\).*/\1/' arquivo.txt

Espero ter ajudado. Abraços!


Show, deu certo e se eu fosse utilizar 32 caracteres? Existe alguma alternativa para otimizar o invés de colocar 32 ( . )








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts