0
我有以下字符串:修剪字符串中的字符数的分隔符之后
57,5804748535
我想修剪它,所以它看起来是这样的:
57,58
我试着使用cut
和awk
但无济于事,我也无法找到谷歌上的任何东西,有没有办法,也许使用sed
(或bc)?
我有以下字符串:修剪字符串中的字符数的分隔符之后
57,5804748535
我想修剪它,所以它看起来是这样的:
57,58
我试着使用cut
和awk
但无济于事,我也无法找到谷歌上的任何东西,有没有办法,也许使用sed
(或bc)?
使用=~
运算符,您可以使用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
把一切都留给了逗号和小数点后两个字符:
echo $x |grep -oP '^.*,.{2}'
谢谢,但我需要的是保留所有字符冒号留在结肠,结肠后只有两个。有可能这样做吗? – Cvg
@Cvg使用'grep -oP'^。* ,. {2}'' –