从行的开头删除部分字符串到某个字符

Bio*_*o21 4 bash awk sed

我有一个10000行的文件,如下所示:

Peptidyl-prolyl cis-trans isomerase A OS=Homo sapiens GN=PPIA PE=1 SV=2 - [PPIA] 0.8622399654 3.2730004556
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何删除部分字符串到方括号,以便最终输出如下所示:

[PPIA] 0.8622399654 3.2730004556
Run Code Online (Sandbox Code Playgroud)

到目前为止,我尝试了python re.sub,但无法将其与行的开头匹配.

and*_*lrc 6

使用sed它是一个简单的替换:

sed 's/^[^[]*\[/[/' input
Run Code Online (Sandbox Code Playgroud)

^表示模式空间的开始("行"),并[^[]匹配除了之外的所有内容[.*是一个量词,意味着零次或多次.\[是一个文字[.