如何用sed替换这种字符串?

f_f*_*ola 2 regex linux replace sed

我有一个包含这种字符串的日志文件:

[1234(0) #1] 
[1234(1) #2] 
[1234(3) #0] 
Run Code Online (Sandbox Code Playgroud)

依此类推......(注意每个字符串中的最后一个空格)

所以,我需要用什么都不替换那些字符串.我试图执行:

$ sed -i 's/\[1234\(\d\)\s#\d\]\s//g' log.txt
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用......的确如果那时我跑:

$ grep '\[1234([0-9])\s#[0-9]\]\s' log.txt
Run Code Online (Sandbox Code Playgroud)

我仍然收到那些字符串......怎么了?

iru*_*var 5

你的版本可能不支持\s\d.此外,()不需要在默认情况下逃脱.以下适用于我

sed 's/\[1234([[:digit:]])[[:space:]]#[[:digit:]]\][[:space:]]//g' file
Run Code Online (Sandbox Code Playgroud)