第一种命令
[]的方式
grep -m 1 -s "MARKETING_VERSION = " /Users/liubo/Desktop/pengpai/ThePaperBase.xcodeproj/project.pbxproj | awk -F [" ":] {print\$NF} | awk -F [";":] {print\$1}
以空格为分隔的最后一个
awk -F [" ":] {print$NF}
以;为分隔的第一个
awk -F [“;”:] {print$1}
192:~ liubo$ grep -m 1 -s “MARKETING_VERSION = " /Users/liubo/Desktop/pengpai/ThePaperBase.xcodeproj/project.pbxproj | awk -F [” “:] {print$NF} | awk -F [”;":] {print$1}
9.6.2
192:~ liubo$
第二种命令
""的 方式
192:~ liubo$ grep -m 1 -s "MARKETING_VERSION = " /Users/liubo/Desktop/pengpai/ThePaperBase.xcodeproj/project.pbxproj | awk -F" " {print\$NF} | awk -F";" {print\$1}
192:~ liubo$
输出
9.6.2
注意:其中的print命令加上引号也是可以的
如
grep -m 1 -s "MARKETING_VERSION = " /Users/liubo/Desktop/pengpai/ThePaperBase.xcodeproj/project.pbxproj | awk -F" " {print\$NF} | awk -F";" "{print\$1}"
附上 获取版本号的脚本命令,放在脚本文件里的。因为需要转义,所以和命令行中的不一样
versionCode = "grep -m 1 -s \"MARKETING_VERSION = \" ${parameter_file} | awk -F \" \" '{print \$NF}' | awk -F \";\" '{print \$1}'"
下面是转义字符对应表
注意,在脚本文件中不能写成 “{print $NF}” 必须写成 ‘{print $NF}’
如果写成如下格式
执行结果
192:Desktop liubo$ ./kk.sh
= MARKETING_VERSION = 9.4.2;
写成如下格式
执行结果
192:Desktop liubo$ ./kk.sh
9.4.2
192:Desktop liubo$
并且脚本文件中注意脚本命令的两端必须是’`‘符号,
如果改成“’”,是错误的,执行会报错
192:~ liubo$ sh /Users/liubo/Desktop/kk.sh
/Users/liubo/Desktop/kk.sh: line 3: } | awk -F ";" {print: command not found