+ -
当前位置:首页 → 问答吧 → 请教 各位大侠

请教 各位大侠

时间:2011-04-18

来源:互联网

有一个info.plist 文件 如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        
        <key>CFBundlePackageType</key>
        <string>BRPL</string>
        <key>eShortVersionString</key>
        <string>1.0.30309.0</string>
        <key>CFBundleVersion</key>
        <string>1.0.30309.0</string>
        <key>IFMajorVersion</key>
        <integer>1</integer>
        <key>Version</key>
        <string>1.0.30309.0</string>
        <key>WebPluginDescription</key>
        <string>1.0.30309.0</string>
        
</dict>
</plist>


请教高手,用什么命令可以得到这个版本号 30309.0

作者: debaosong   发布时间: 2011-04-18

本帖最后由 unixthisyear 于 2011-04-18 15:47 编辑

回复 debaosong
  1. cat info.list | sed -e '/string/s/<[^>]*>//g' | sed -e 's/1.0.//g'
复制代码

作者: unixthisyear   发布时间: 2011-04-18

本帖最后由 yinyuemi 于 2011-04-18 15:47 编辑

回复 debaosong
  1. awk '/<key>Version<\/key>/{p=1;FS="[.<]";next}p{print $4"."$5;exit}' file
  2. 30309.0
复制代码
getline:
  1. awk '/<key>Version<\/key>/{getline x;gsub(/[^0-9.]/,"",x);print x|"cut -d'.' -f3,4"}' file
  2. 30309.0
复制代码

作者: yinyuemi   发布时间: 2011-04-18

二楼没有考虑通用性 假如 不是1.0开头的该如何

cat test | sed -e '/string/s/<[^>]*>//g' | sed -n 's/^[0-9]*\.[0-9]*\.//p'

作者: chenbin200818   发布时间: 2011-04-18



QUOTE:
二楼没有考虑通用性 假如 不是1.0开头的该如何

cat test | sed -e '/string/s/]*>//g' | sed -n 's/^[0- ...
chenbin200818 发表于 2011-04-18 15:54




    好的,学习

作者: unixthisyear   发布时间: 2011-04-18