Extrai uma sub-string do valor de uma variável

0

Eu tenho uma string na forma de segment_78787 que é armazenada em uma variável chamada $ID no meu shell script. Eu preciso pegar a segunda parte "78787" e atribuí-la a outra variável.

Eu tentei gostar

batchname='ID|cut -d_ -f1'

Isso não me deu nenhum resultado.

    
por suni 01.08.2013 / 14:11

2 respostas

4

Se o seu shell suportar, você pode usar a expansão

batchname=${ID##*_}

ou até mesmo

batchname=${ID#*_}

O primeiro formulário remove todos os caracteres até e incluindo o sublinhado mais à direita e o segundo formulário remove todos os caracteres até e incluindo o sublinhado mais à esquerda. Em seu exemplo específico, os dois formulários são equivalentes.

    
por 01.08.2013 / 14:25
2

Deve ser

batchname='echo $ID | cut -d_ -f2'
    
por 01.08.2013 / 14:14