
Ich möchte aus dieser Zeichenfolge versionCode
Folgendes extrahieren :versionName
package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'
Ich denke, ich sollte diese Aktionen durchführen:
versionCode
in der Zeichenfolge finden .- Suchen Sie „(einfaches Anführungszeichen)“ ausgehend von der Position, die wir in Schritt 1 gefunden haben.
- Zeichen lesen, bis ein weiteres einfaches Anführungszeichen erscheint.
- Wiederholen Sie den Vorgang (1~3) mit
versionName
Aber ich weiß nicht, wie ich das mit einem Bash-Skript machen soll. Helfen Sie mir bitte @_@
Antwort1
Bedenken Sie, dass die Zeichenfolge, aus der Sie Versionscode und Versionsname extrahieren möchten, immer in dem von Ihnen angegebenen Format vorliegen würde.
package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'
Angenommen, die obige Zeichenfolge wird unter dem Dateinamen gespeichert package_info
. Dann verwenden Sieschneidenwäre einfacher und viel schneller:
Bekommen das
versionCode
cut -d "'" -f 4 package_info
Bekommen das
versionName
cut -d "'" -f 6 package_info
Die Kombination der beiden
cut -d "'" -f 4,6 package_info
Eine kurze Beschreibung des Schnitts:
cut
Das Dienstprogramm extrahiert Teilzeichenfolgen basierend auf delimiter
(standardmäßig Leerzeichen) und fields/characters
.
- Standardmäßig ist das Trennzeichen ein
literal space
, das kann geändert werden mit-d
. - In Ihrem Fall ist das Trennzeichen
'
-f
weist cut an, die relativ nummerierten Felder (hier4
oder6
) auf der Grundlage des definierten Trennzeichens zu extrahieren.
Für einige praktische Erfahrungen im Schnitt,Besuche hierund fügen Sie gerne weitere Einzelheiten hinzu.