Eu fiz o seguinte na linha de comando:
$ text="name with space"
$ echo $text
name with space
Estou tentando usar tr -d ' '
para remover os espaços e ter um resultado de:
namewithspace
Eu tentei algumas coisas como:
text=echo $text | tr -d ' '
Sem sorte até agora, espero que vocês maravilhosos possam ajudar!
shell
command-line
tr
user3347022
fonte
fonte
Você não precisa de nenhum
echo
comando, basta usar o Here String :Só por curiosidade, verifiquei quanto tempo uma tarefa tão trivial leva para diferentes ferramentas. Aqui estão os resultados classificados da mais lenta para a mais rápida:
A operação pura do shell é definitivamente a mais rápida, o que não é surpreendente, mas o que é realmente impressionante é que é 100 vezes mais rápida que o comando mais lento!
fonte
Apenas modifique sua variável de texto como abaixo.
No entanto, se tivermos caracteres de controle, isso poderá ser interrompido. Assim, conforme a sugestão de Kasperd, poderíamos ter aspas duplas em torno dela. Então,
será uma versão melhor.
fonte
$text
contiver caracteres de controle, que seriam interpretados pelo shell. Melhor colocar algumas aspas lá:text="$(echo "$text" | tr -d ' ')"
fonte
um caso especial quando você precisa de uma variável que tenha um número:
sh:
ksh:
fonte