2016-11-25 104 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}'' –