Extrai informações da versão de uma string

0

Eu quero extrair versionCode e versionName desta string:

package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'

Acho que devo fazer estas ações:

  1. encontre versionCode na string.
  2. find '(aspas simples) a partir da posição encontrada na etapa 1.
  3. leia os caracteres até aparecer outra simples citação.
  4. Repita o mesmo processo (1 ~ 3) com versionName

Mas não sei como fazer isso usando o script Bash. Me ajude por favor @ _ @

    
por Tura 10.10.2018 / 12:24

1 resposta

2

Considerando que a string da qual você deseja extrair versionCode e versionName sempre estaria no formato que você forneceu.

package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'

Digamos que a string acima seja salva no nome de arquivo package_info e, em seguida, Use corte seja simples e muito mais rápido:

  • Obtenha o versionCode

    cut -d "'" -f 4 package_info
    
  • Obtenha o versionName

    cut -d "'" -f 6 package_info
    
  • Combinando os dois

    cut -d "'" -f 4,6 package_info
    

Um resumo sobre o corte:

O utilitário

cut extrai a substring com base no delimiter (espaço por padrão) e fields/characters .

  • Por padrão, o Delimitador é um literal space , que pode ser alterado usando -d .
  • No seu caso, o delimitador é '
  • -f informa ao recorte para extrair os campos relativamente numerados (aqui 4 ou 6 ) com base no delimitador definido.

Para saber mais sobre o assunto, visite aqui e sinta-se à vontade para adicionar mais detalhes .

    
por 10.10.2018 / 13:58

Tags