【发布时间】:2012-02-03 12:04:49
【问题描述】:
我有一个命令获取当前的 SVN 版本并将其存储在一个文件中,无论如何我可以从文件中选择“53413”以在其他地方使用吗?
Revision: 53413
谢谢
【问题讨论】:
我有一个命令获取当前的 SVN 版本并将其存储在一个文件中,无论如何我可以从文件中选择“53413”以在其他地方使用吗?
Revision: 53413
谢谢
【问题讨论】:
echo "Revision: 53413" | cut -d " " -f2
cut用法:使用空格作为分隔符,选择第二个字段。
【讨论】:
这更精确一点,以防filename 包含多于一行的数据:
rev=`awk '$1=="Revision:"{print $2}' <filename>`
然后,您可以在 bash 脚本的其他位置使用 ${rev}。
【讨论】:
你可以使用 grep:
echo "Revision: 53413" | grep -o -P "\d+"
或者,如果您的文件有更多行,您可以使用:
cat file | grep Revision | grep -o -P "\d+"
【讨论】:
-P选项,不妨去掉第一个grep:grep -oP '(?<=Revision: )\d+' file
文件数据包含
dddd 2345
尝试以下几行
$ REV=`cat data| awk '{print $2}' `
$ echo $REV
输出是 第2345章
【讨论】: