2016-11-25 71 views
0

我有以下字符串:修剪字符串中的字符数的分隔符之后

57,5804748535 

我想修剪它,所以它看起来是这样的:

57,58 

我试着使用cutawk但无济于事,我也无法找到谷歌上的任何东西,有没有办法,也许使用sed(或bc)?

回答

0

使用=~运算符,您可以使用bash shell(支持从bash 3.0起)中的regEx功能。

$ string="57,5804748535" 
$ [[ $string =~ (^[[:digit:]]{2},[[:digit:]]{2})(.*) ]] && echo "${BASH_REMATCH[1]}" 
57,58 

将它保存在一个变量作为

$ [[ $string =~ (^[[:digit:]]{2},[[:digit:]]{2})(.*) ]] && subString="${BASH_REMATCH[1]}" 
$ echo "$subString" 
57,58 

perl

$ perl -lane 'print m/^\d{2},\d{2}/g' <<<"$string" 
57,58 
0

把一切都留给了逗号和小数点后两个字符:

echo $x |grep -oP '^.*,.{2}' 
+0

谢谢,但我需要的是保留所有字符冒号留在结肠,结肠后只有两个。有可能这样做吗? – Cvg

+0

@Cvg使用'grep -oP'^。* ,. {2}'' –