0

我如何从中68提取v1+r0.68

4

5 回答 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 回答