我收到了字符串10.11.12
。我想要了解所有内容,但不包括第二个点,换句话说,在这种情况下,我想返回10.11
。
我使用bash但无法弄明白。我希望sed可能会有所帮助,但我已经花了很长时间谷歌搜索,无法弄明白。例如这没有用:
$ echo 10.11.12 | sed "s/\d*\.\d*/\0/p"
10.11.12
10.11.12
帮助!
答案 0 :(得分:3)
请参阅BashFAQ #100("如何在bash中进行字符串操作?")。与许多常见操作一样,这可以通过parameter expansion完成。
s=10.11.12
result="${s%.*}" # Remove everything after the last .
echo "$result"
当然,你可以直接去:
echo "${s%.*}"
答案 1 :(得分:0)
如果没有sed
,您可以执行以下操作。
echo 10.12.13 | rev | cut -d "." -f2- | rev
答案 2 :(得分:0)
在perl
:
echo 10.11.12 | perl -pe 's/(.*)\..*/$1/'
给出你期望的东西