7
替换除最后x次出现以外的字符
我有一个文件,其中有一堆与IP相关的主机名看起来像这样: x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int.test.example.com 59.2.86.3 super.awesome.machine 123.234.15.6 我希望它看起来像这样: x-cluster-front-1 192.168.1.2 x-cluster-front-2 192.158.1.10 y-cluster-back-1 10.1.11.99 y-cluster-back-2 10.1.157.38 int-test-example-com 59.2.86.3 super-awesome-machine 123.234.15.6 我该如何更换。为了方便第二列进行排序,在第一列中使用-(连字符)来表示(点)?我当时想用sed替换点直到第一个空格,或者替换除最后三个点以外的所有点,但是我在理解正则表达式和sed时遇到了麻烦。我可以执行简单的替换,但是这很麻烦! 这是我一直用bash编写的较大脚本的一部分。我被困在这一部分。