shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Variável com espaço


From: Julio C. Neves
Subject: Re: [shell-script] Re: Variável com espaço
Date: Thu, 6 Nov 2014 17:49:34 -0200

Já que vc estava usando substituição de parâmetros, deveria fazer:

$ [[ "$1" = "${1// /}" ]] && echo "${1:5}" || echo ${1#* }

Veja os testes:

$ set 'frase feita'
$ [[ "$1" = "${1// /}" ]] && echo "${1:5}" || echo ${1#* }
feita
$ set 'frase_feita'
$ [[ "$1" = "${1// /}" ]] && echo "${1:5}" || echo ${1#* }
_feita

Se tiver mais de um espaço e vc deseja tudo a partir do último, faça:

$ [[ "$1" = "${1// /}" ]] && echo "${1:5}" || echo ${1##* }

Veja:

$ set 'Frase feita e perfeita'
$ [[ "$1" = "${1// /}" ]] && echo "${1:5}" || echo ${1#* }
feita e perfeita
$ [[ "$1" = "${1// /}" ]] && echo "${1:5}" || echo ${1##* }
perfeita

SuShellso

Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 10 a 14/11
São Paulo 4Linux 24 a 28/11
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 6 de novembro de 2014 16:17, address@hidden [shell-script] <address@hidden> escreveu:
 

Olá Itamar,

Muitíssimo obrigado pela dica, funcionou perfeitamente.
Segue minha adaptação ao meu cenário, onde recebo uma variável e caso esta possua um espaço devo devolver os caracteres após este espaço e caso não possua espaço devolvo os caracteres após o 5 caracter.

 #/bin/bash
 test "$1" = "${1// /}" && echo "${1:5}" || echo "$1" | cut -f2 -d' '




reply via email to

[Prev in Thread] Current Thread [Next in Thread]