Extraer información de versión de una cadena

Extraer información de versión de una cadena

Quiero extraer versionCodey versionNamede esta cadena:

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

Creo que debería hacer estas acciones:

  1. encontrar versionCodeen la cadena.
  2. find ' (comilla simple) comenzando desde la posición que encontramos en el paso 1.
  3. lea los caracteres hasta que aparezca otra comilla simple.
  4. Repita el mismo proceso (1~3) conversionName

Pero no sé cómo hacerlo usando el script Bash. Ayudame por favor @_@

Respuesta1

Teniendo en cuenta que la cadena de la que desea extraer el código de versión y el nombre de la versión siempre estará en el formato que proporcionó.

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

Digamos que la cadena anterior se guarda con el nombre del archivo package_infoy luego usandocortarSería simple y mucho más rápido:

  • Consigue elversionCode

    cut -d "'" -f 4 package_info
    
  • Consigue elversionName

    cut -d "'" -f 6 package_info
    
  • Combinando los dos

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

Un breve sobre el corte:

cutLa utilidad extrae la subcadena según delimiter(espacio por defecto) y fields/characters.

  • Por defecto, el delimitador es un literal space, que se puede cambiar usando-d.
  • En su caso, el delimitador es'
  • -fle dice a cut que extraiga los campos relativamente numerados (aquí 4o 6) según el delimitador definido.

Para realizar un corte práctico,visitar aquíy siéntase libre de agregar más detalles.

información relacionada