谁能解释一下为什么
python -V | awk '{print $2}'
返回此
Python 2.7.5
而不是
2.7.5
如何才能仅返回版本号而不返回“Python”?
您之所以会获得完整版本字符串"Python 2.7.5"而不是仅仅获得版本字符串"2.7.5",是因为该awk命令只是根据空格分隔符提取输出的第二部分。
"Python 2.7.5"
"2.7.5"
awk
当你运行时:
输出python -V如下:
python -V
这里,awk '{print $2}'采用第二个字段(即"2.7.5"),但包括尾随空格作为该字段的一部分,导致输出2.7.5带有额外的填充。
awk '{print $2}'
您可以使用或其他方法(例如 )修改awk命令以删除前导部分。"Python "``awk``cut
"Python "``awk``cut
您可以使用awk直接打印版本部分:
python -V 2>&1 | awk '{print $2}'
2>&1
stdout
stderr
cut
您还可以使用它cut来仅获取版本号:
python -V 2>&1 | cut -d' ' -f2
cut -d' ' -f2
-d' '
-f2
以下任一方法都将仅返回版本号(例如2.7.5),而不返回"Python "前缀:
"Python "
或者