Pular para o conteúdo

Dúvida sobre array [RESOLVIDO]

Responder tópico
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
  • Denunciar
  • Indicar

1. Dúvida sobre array [RESOLVIDO]

Enviado em 14/09/2017 - 04:47h

boa noite, eu estou querendo filtrar o read que é uma array,ou seja ele passa por um filtro que independente se a letra for tudo em capslock ele retorna sempre em minuscula,dps ir para a proxima etapa que é o echo,porem ele esta puxando do read sem o filtro.
qual esta sendo meu erro? daria pra declarar outra array no filtro e depois na ultiam etapa o echo chamar essa array filtrada?


			read -a comp
echo ${comp[@]} | tr '[:upper:]' '[:lower:]'
$echo ${comp[@]}

Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

2. Re: Dúvida sobre array [RESOLVIDO]

Melhor resposta

Enviado em 14/09/2017 - 22:20h

antoniojose12 escreveu:

up


Boa noite Antonio.
Segue:
frutas=(Laranja, BANAna, ABACATE)
echo ${frutas[@]}
Laranja, BANAna, ABACATE
frutas=(${frutas[@],,})
echo ${frutas[@]}
laranja, banana, abacate
echo ${frutas[@]^^}
LARANJA, BANANA, ABACATE

Obs.: Isso é "BASH", vc encontra essas informações em "man bash".
Att.:
Marcelo Oliver

3. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 14/09/2017 - 10:45h

tenta utilizar "typeset" para alterar diretamente o tipo do array..
typeset -l nome_do_array    
# (-l minúsculo)
# (-u maiúsculo)

coloque essa definição antes de o array ser atribuído com os valores

assim, tudo que entrar no array será convertido "automaticamente" para maiúsculo

4. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 14/09/2017 - 11:48h

oi,nao funcionou com o typeset.

5. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 14/09/2017 - 12:53h

antoniojose12 escreveu:

oi,nao funcionou com o typeset.


Fiz o teste com o seguinte código.. e funcionou:
typeset -l arraytest				#converte tudo para minúsculo (-l) (-u para maiúsculo) (-l | -u)

arraytest=("CASA" "APARTAMENTO" "HOTEL" "FAZENDA" "COMÉRCIO")

echo ${arraytest[@]}


6. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 14/09/2017 - 13:02h

talvez eu não tenha entendido muito bem o que você precisa..

tenta explicar novamente..

de preferência nos fornecendo uma parte do seu código em que seja possível executarmos para reproduzir o problema que você enfrenta..

7. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 14/09/2017 - 13:13h

sim,ele funciona printando na tela,oprolbmea é que o script é para chamar as fotos para um programa é que estou aprendendo e brincando com arrays...

dir="/home/$USER/images/

echo "nome da foto com extensão:"
read -a arquivo
geeqie $dir${arquivo[@]}


no caso o usuario digita as fotos e o geeqie abre estas fotos,com o typeset não converter em minusculas

8. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 14/09/2017 - 19:49h

up

9. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 15/09/2017 - 11:30h

msoliver escreveu:

antoniojose12 escreveu:

up


Boa noite Antonio.
Segue:
frutas=(Laranja, BANAna, ABACATE)
echo ${frutas[@]}
Laranja, BANAna, ABACATE
frutas=(${frutas[@],,})
echo ${frutas[@]}
laranja, banana, abacate
echo ${frutas[@]^^}
LARANJA, BANANA, ABACATE

Obs.: Isso é "BASH", vc encontra essas informações em "man bash".
Att.:
Marcelo Oliver


nossa tao facil e eu estava dando piroteios rs,tentei com tr o typset e nada e voce me mostra a maneira mais facil possivel

10. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 15/09/2017 - 14:04h

antoniojose12 escreveu:

nossa tao facil e eu estava dando piroteios rs,tentei com tr o typset e nada e voce me mostra a maneira mais facil possivel

aprendendo também..!

o colega "msoliver" costuma oferecer sugestões bastante diretas e precisas!


11. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 15/09/2017 - 14:54h

Valeu pessoal!!!!
Em ShellScript, sempre existe mais de um "modo" de obter o resultado, é uma questão de conhecer os comandos . . . .
Além do "tr", podemos usar o sed, exemplo:
Maiúscula p/ Minúscula
sed 's/.*/\L&/' <<< "BANANA"
banana
Minúscula p/ Maiúscula
sed 's/.*/\U&/' <<< "abacate"
ABACATE


Att.:
Marcelo Oliver

12. Re: Dúvida sobre array [RESOLVIDO]

Enviado em 15/09/2017 - 15:23h

msoliver escreveu:

Em ShellScript, sempre existe mais de um "modo" de obter o resultado, é uma questão de conhecer os comandos . . . .

perfeito!

alguns comandos são mais diretos... outros mais claros e pedagógicos...

aprendi mais um..! :)


Responder tópico

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Responder tópico

Entre na sua conta para responder.

Fazer login para responder