
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:
- encontre
versionCode
na string. - find ' (aspas simples) começando na posição que encontramos na etapa 1.
- leia os caracteres até que outra aspa simples apareça.
- Repita o mesmo processo (1~3) com
versionName
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 o
versionCode
cut -d "'" -f 4 package_info
Pegue o
versionName
cut -d "'" -f 6 package_info
Combinando os dois
cut -d "'" -f 4,6 package_info
Um resumo sobre corte:
cut
utilitá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 é
'
-f
diz ao cut para extrair os campos relativamente numerados (aqui4
ou6
) com base no delimitador definido.
Para um corte prático,visite aquie fique à vontade para adicionar mais detalhes.