
この文字列からversionCode
and を抽出したい:versionName
package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'
以下のアクションを実行する必要があると思います:
versionCode
文字列内で検索します。- 手順 1 で見つけた位置から ' (一重引用符) を検索します。
- 別の一重引用符が現れるまで文字を読み取ります。
- 同じ手順(1〜3)を繰り返す
versionName
しかし、Bash スクリプトを使用してそれを実行する方法がわかりません。助けてください @_@
答え1
versionCode と versionName を抽出する文字列は、常に指定した形式になることを考慮してください。
package: name='com.turastory.mysampleapp' versionCode='11' versionName='1.1.4'
上記の文字列がファイル名で保存されているpackage_info
場合、カットシンプルではるかに高速になります:
入手
versionCode
cut -d "'" -f 4 package_info
入手
versionName
cut -d "'" -f 6 package_info
2つを組み合わせる
cut -d "'" -f 4,6 package_info
カットについて簡単に説明します:
cut
delimiter
ユーティリティは、(デフォルトではスペース)と に基づいて部分文字列を抽出しますfields/characters
。
- デフォルトでは区切り文字は です
literal space
が、次のように変更できます。-d
。 - あなたの場合、区切り文字は
'
-f
定義された区切り文字に基づいて、相対的に番号付けされたフィールド (ここ4
または) を抽出するように cut に指示します。6
実際にカットしてみると、ここを訪問さらに詳しい情報をご自由に追加してください。