Dúvida sobre array [RESOLVIDO]

1. Dúvida sobre array [RESOLVIDO]

Antonio jose
antoniojose12

(usa Fedora)

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[@]}



  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

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]

Rodrigo Albuquerque Serafim
raserafim

(usa Slackware)

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]

Antonio jose
antoniojose12

(usa Fedora)

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

oi,nao funcionou com o typeset.


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

Rodrigo Albuquerque Serafim
raserafim

(usa Slackware)

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]

Rodrigo Albuquerque Serafim
raserafim

(usa Slackware)

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]

Antonio jose
antoniojose12

(usa Fedora)

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]

Antonio jose
antoniojose12

(usa Fedora)

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

up


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

Antonio jose
antoniojose12

(usa Fedora)

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]

Rodrigo Albuquerque Serafim
raserafim

(usa Slackware)

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]

Marcelo Oliver
msoliver

(usa Debian)

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]

Rodrigo Albuquerque Serafim
raserafim

(usa Slackware)

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..! :)








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts