从数据文件的一列中删除点后字符串的最后一部分

use*_*731 1 python awk design-patterns

也许这是一个简单的问题,但我检查了一些问题,但无法找到适合我的问题的解决方案。我有一个大文件,分为 10 列。在第 9 列中,有一个字符串,其中包含用点分隔的数字和字母。像这样的东西:

id.aa.xx.1.rr.2930
id.ee.yy.2.gres.1
id.ww.3232
Run Code Online (Sandbox Code Playgroud)

我想要的是删除最后一个点之后字符串的最后一部分。那么输出应该是这样的:

id.aa.xx.1.rr
id.ee.yy.2.gres
id.ww
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,字符串没有相同的模式,所以我不能使用 split 函数,也不能使用 python 中的 rsplit() ,因为点后面的最后一个字段每个字符串有 1 到 6 个字符。

python 或 awk 有什么简单的解决方案吗?

小智 5

您可以使用此代码line[:line.rfind('.')]