Extraia informações de versão de uma string

Extraia informações de versão de uma string

Quero extrair versionCodee versionNamedesta string:

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

Acho que devo fazer estas ações:

  1. encontre versionCodena string.
  2. find ' (aspas simples) começando na posição que encontramos na etapa 1.
  3. leia os caracteres até que outra aspa simples apareça.
  4. Repita o mesmo processo (1~3) comversionName

Mas não sei como fazer isso usando o script Bash. Ajude-me, por favor @_@

Responder1

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

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

Digamos que a string acima seja salva em filename e package_info, em seguida, usandocorteseria simples e muito mais rápido:

  • Pegue oversionCode

    cut -d "'" -f 4 package_info
    
  • Pegue oversionName

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

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

Um resumo sobre corte:

cututilitário extrai substring com base em 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 é'
  • -fdiz ao cut para extrair os campos relativamente numerados (aqui 4ou 6) com base no delimitador definido.

Para um corte prático,visite aquie fique à vontade para adicionar mais detalhes.

informação relacionada