Pular para o conteúdo

O Mais Prático ou o Mais Rápido? Alternativa ao cut -c

Dica publicada em Shell Script / Avançado
Mauricio Ferrari (LinuxProativo) maurixnovatrento
Hits: 4.065 Categoria: Shell Script Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar

O Mais Prático ou o Mais Rápido? Alternativa ao cut -c

Eu vi em um grupo no Telegram alguém com dúvida em como fazer para exibir de uma lista de texto apenas a primeira letra de cada palavra. A resposta como era de se esperar foi:

cut -c1 lista.txt

Aí eu me perguntei, existe outra forma de fazer isso?

Então, enviei uma alternativa:

for i in $(< lista.txt); do echo "${i::1}"; done

Aí você me pergunta, qual é a diferença e o que é esse "${i::1}"? Isso é uma expansão de parâmetros que funciona como alternativa ao cut -c. Sua sintaxe consiste em ${PARM:POSICAOINICIAL:TAMANHO}. Pra quem não sabe, a expansão de parâmetros age na pilha de dados diretamente no processador, por isso não há a necessidade de uso de comandos.

Beleza, já está explicado o que é, mas e a diferença? OLHA.
Linux: O Mais Prático ou o Mais Rápido? Alternativa ao cut -c
A diferença está na velocidade que é surreal. O processador do meu Note é um i7-8565U é já deu essa diferença, agora imagina isso em um PC fraquinho. Certamente, será viável usar expansão de parâmetro, pois mesmo o PC com pouco processamento, temos o "for" que é uma bala e o uso de uma expansão de parâmetro que é outra bala e o resultado final será de grande eficiência, pois mesmo com um processador de baixo desempenho a expansão de parâmetro será extremamente rápida.

Espero que esse conteúdo seja de grande utilidade.

EasyMP3Gain no Debian, Ubuntu e derivados

Flacon no Debian e Linux Mint 20

Instalando o Aplicativo de Videoconferência Zoom no Deepin 20

Plugin auto-pairs no Vim

Ocenaudio no Slackware - uma alternativa mais simples ao Audacity

Shell - operações envolvendo números em ponto flutuante

Exibir arquivo de grupos /etc/group de forma personalizada conforme o usuário

Limpando a fila do queue

Como fazer diff entre duas imagens

Resoveldo problema com proxy no Conectividade Social

#1 Comentário enviado por fabio em 05/06/2021 - 01:08h
Muito boa dica! Nunca tinha visto essa sintaxe antes.
#2 Comentário enviado por -josinaldo- em 05/06/2021 - 14:38h
Legal a dica.
#4 Comentário enviado por leoCCB em 07/06/2021 - 15:03h

excelente dica
#5 Comentário enviado por maurixnovatrento em 07/06/2021 - 21:06h

[4] Comentário enviado por Leo CCB em 07/06/2021 - 15:03h


excelente dica


valeu.

Contribuir com comentário

Entre na sua conta para comentar.