使用bash

时间:2017-07-26 13:31:06

标签: bash

我收到了字符串10.11.12。我想要了解所有内容,但不包括第二个点,换句话说,在这种情况下,我想返回10.11

我使用bash但无法弄明白。我希望sed可能会有所帮助,但我已经花了很长时间谷歌搜索,无法弄明白。例如这没有用:

$ echo 10.11.12 | sed "s/\d*\.\d*/\0/p"
10.11.12
10.11.12

帮助!

3 个答案:

答案 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/'

给出你期望的东西