使用shell命令获取android:versionName

时间:2011-09-27 13:55:23

标签: android shell command-line

我想通过shell命令从AndroidManist.xml文件中获取versionName。 我一直在尝试使用grep和:

 grep versionName ./AndroidManifest.xml

我正在接受这一行:

android:versionName="1.0">

是否有可能以某种方式将其缩小到 1.0

提前致谢

2 个答案:

答案 0 :(得分:3)

试试这个:

perl -e 'while($line=<>) { if ($line=~ /versionName\s*=\s*"([^"]+)"/) { print "$1\n";}}' <AndroidManifest.xml

您可能希望将其放入文件中:

Ex:VersionNum.pl

#!/usr/bin/perl

#get the filename from command line
$file = shift or die;

#open the file and read it into $lines var
open(IN,$file) or die;
$lines=join("",<IN>); 
close(IN);

#search the $line var for match and print it
if ($lines =~ m/android:versionName\s*=\s*"([^"]+)"/mgs)  {
   print "$1\n";
}

然后只需chmod 755 VersionNumber.pl并将其与VersionNumber.pl AndroidManifest.xml

一起使用

答案 1 :(得分:2)

较短的版本可以源自您的原始建议:

grep versionCode AndroidManifest.xml | sed -e 's/.*versionName\s*=\s*\"\([0-9.]*\)\".*/\1/g'