简单的SED语句在第一个下划线AFTER @ sign实例后截断所有内容

Rhy*_*hys 0 sed

输入:

ab_cd@yahoo.co.uk_DN_135.PNG
ef_gh@gmail.com_ST_19_1_9.jpg
Run Code Online (Sandbox Code Playgroud)

要求输出:

ab_cd@yahoo.co.uk
ef_gh@gmail.com
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个SED声明来做上述事情.

基本上我希望从输出中删除@符号之后的第一个下划线字符.

对不起,我只掌握编程的基本知识.我是在Windows机器上,从[我已经找到了SED编辑] 在这里 ,并用它修改简单的字符串从Windows外壳程序的批处理文件.

非常感谢

Ken*_*ent 5

尝试一下:

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

它在这里与你的输入一起工作:

kent$  cat f
ab_cd@yahoo.co.uk_DN_135.PNG
ef_gh@gmail.com_ST_19_1_9.jpg

kent$  sed 's/_[^@]*$//' f
ab_cd@yahoo.co.uk
ef_gh@gmail.com
Run Code Online (Sandbox Code Playgroud)