Como eu crio uma função que leva um nome com um sufixo inteiro como argumento e aumenta este sufixo?

1

Eu preciso do código para adicionar um argumento como Brad_1 e transformá-lo em Brad_2. Não sei como fazer isso porque um é um número e o outro é um nome.

    
por Brad 14.09.2017 / 20:10

1 resposta

1

Esta função aceita um parâmetro; ele separa a string e o número, com base no sublinhado, depois imprime a string mais o número incrementado:

function increment() { 
  local num=${1#*_}; 
  local str=${1%_*}; 
  printf "%s" "${str}_$((num+1))";
}

$ echo $(increment Brad_1)
Brad_2
$ echo $(increment Jeff_41)
Jeff_42
    
por 14.09.2017 / 21:45