当符号 (_) 在字符串中多次出现时,仅删除特定符号后的最后一位数字

Mou*_*ury 0 text-processing

我在文本文件中有一个字符串列表:

AY498934.1_cds_AAS79865.1_1_1
AY498934.1_cds_AAS79865.1_1_2
AY498934.1_cds_AAS79865.1_1_3
Run Code Online (Sandbox Code Playgroud)

我想删除最后一个“_”之后的所有内容。

预期成绩:

AY498934.1_cds_AAS79865.1_1
AY498934.1_cds_AAS79865.1_1
AY498934.1_cds_AAS79865.1_1
Run Code Online (Sandbox Code Playgroud)

Sté*_*las 5

sed 's/_[^_]*$//' < file
Run Code Online (Sandbox Code Playgroud)

替换_后跟 0 个或多个 ( *) 字符,而不是_( [^_]) 后跟行尾不$任何内容