我想要grep一部分字符串,其中包含数字和点(。)。
例如:
/home/xar/11.1.0/hez
/uaa/14.0.2.5/grd/pc
我想要的只是这一部分:
14.0.2.5
11.1.0
我意识到cut
命令不足以解决这个问题。
答案 0 :(得分:5)
你可以使用这个grep:
$ grep -o "[0-9.]*" file
11.1.0
14.0.2.5
-o
用于"仅打印匹配的部分"。"[0-9.]*"
匹配数字和点的任意组合。答案 1 :(得分:2)
sed
版本:
sed -n 's!.*/\([0-9.]*\)/.*!\1!p' input
答案 2 :(得分:0)
您可以使用awk
,但此处grep
是正确的工具。
awk -F/ '{for (i=1;i<=NF;i++) if ($i~/[0-9.]+/) print $i}' file
11.1.0
14.0.2.5