我有一个包含多行文本的 bash 变量,其中包括 IP 地址,我需要在同一行中最后一个 IP 地址出现之前删除“所有内容”。
这个:
43.12.40.53 [email protected]
archery-666.foobar.com 66.77.11.44 data test@example
55.32.39.153 [email protected]
5.113.30.37 dummy
89-109-22-006.static.example.com.br 89.109.22.6 [email protected]
68.28.15.55 68.28.15.55 another
应转化为:
43.12.40.53 [email protected]
66.77.11.44 data test@example
55.32.39.153 [email protected]
5.113.30.37 dummy
89.109.22.6 [email protected]
68.28.15.55 another
阅读这篇文章如何从一行中删除一个模式之前的所有内容以及另一个模式之后的所有内容?我试过了:
var=$(sed 's/^.*\(([0-9]{1,3}[\.]){3}[0-9]{1,3}\).*$/\1/' <<< "$var")
但它不起作用。