fatiando os últimos n caracteres em string após o espaço em branco final

0

Uma string é retornada por myString=$(some_command) .

O valor resultante de myString é semelhante a:

there are spaces in this line.  

Qual comando bash específico pode ser digitado para extrair apenas o último n de caracteres após o espaço final no valor resultante de myString ?

Para o valor de exemplo de myString mostrado acima, eu gostaria de extrair os 5 caracteres line.

No entanto, para um valor diferente de myString , como "essa linha tem muitos espaços", a saída fatiada desejada seria spaces.

    
por CodeMed 04.04.2018 / 00:12

1 resposta

4

Dada uma variável

myString='there are spaces in this line.'

você pode remover o componente principal mais longo que termina em um espaço usando a expansão do parâmetro ${myString##* } eg

$ myString='there are spaces in this line.'
$ echo "${myString##* }" 
line.
$
$ myString='this line has many spaces.'
$ echo "${myString##* }"
spaces.
    
por 04.04.2018 / 00:26

Tags