我想通过shell命令从AndroidManist.xml文件中获取versionName。 我一直在尝试使用grep和:
grep versionName ./AndroidManifest.xml
我正在接受这一行:
android:versionName="1.0">
是否有可能以某种方式将其缩小到 1.0 ?
提前致谢
答案 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'