我如何从中68
提取v1+r0.68
?
问问题
740 次
5 回答
4
使用 awk,返回最后一个 '.' 之后的所有内容。
echo "v1+r0.68" | awk -F. '{print $NF}'
于 2012-12-08T15:52:03.977 回答
1
使用 sed 获取最后一个点之后的数字:
echo 'v1+r0.68' | sed 's/.*[.]\([0-9][0-9]*\)$/\1/'
于 2012-12-08T00:31:06.633 回答
1
使用 匹配行尾之前的数字字符串grep
:
$ echo 'v1+r0.68' | grep -Eo '[0-9]+$'
68
或匹配 a 之后的任何数字.
$ echo 'v1+r0.68' | grep -Po '(?<=\.)\d+'
68
.
在with之后打印所有内容awk
:
echo "v1+r0.68" | awk -F. '{print $NF}'
68
.
用 with替换之前的所有内容sed
:
echo "v1+r0.68" | sed 's/.*\.//'
68
于 2012-12-08T15:55:09.570 回答
1
grep 擅长提取东西:
kent$ echo " v1+r0.68"|grep -oE "[0-9]+$"
68
于 2012-12-08T00:48:51.853 回答
0
类型man grep
你会看到
...
-o, --only-matching
Show only the part of a matching line that matches PATTERN.
然后输入echo 'v1+r0.68' | grep -o '68'
如果你想在任何特别的地方做:
echo 'v1+r0.68' | grep -o '68' > anyWhereSpecial.file_ending
于 2012-12-08T03:30:51.163 回答