如何使用sed替换字符串的最后3个字符

Vit*_*bei 3 command-line sed

我遇到了从字符串中提取 x 个字符的问题,并且很难扩大表达式的能力。

我曾尝试使用 sed 命令。

如果我有字符串example.com.db,我需要保留“example.com”,为此我使用

sed 's/\.db//g'
Run Code Online (Sandbox Code Playgroud)

如何更改表达式以便我也可以使用这些类型的文件example.db.db.com.db

在这种情况下,我需要的最终结果是 example.db.db.com

小智 7

您可以使用:

's/.db$//'
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用:

's/...$//'
Run Code Online (Sandbox Code Playgroud)

删除最后 3 个字符和

's/\.[^\.]*$//'
Run Code Online (Sandbox Code Playgroud)

删除最后一个点之后的所有内容