Bash 使用Sed删除时间戳

Bash 使用Sed删除时间戳,bash,sed,Bash,Sed,我在网上找到了几个例子。。但我不能 找到一个有效的组合,比如sed的synx 这很棘手,如果你能告诉我的话 正确的方向我将不胜感激 这是我想从文件中删除的时间戳 00:02:06.580-->00:02:07.380 这是我已经尝试过的 cat sometextfile.txt | sed -r 's /\[0-9]{2}:[0-9]{2}:[0-9]{2}\/ g' 但我不断得到错误:sed:-e表达式#1,char 34:unterminated's'命令 谢谢 语法是s/替换什么/替换什

我在网上找到了几个例子。。但我不能 找到一个有效的组合,比如sed的synx 这很棘手,如果你能告诉我的话 正确的方向我将不胜感激

这是我想从文件中删除的时间戳

00:02:06.580-->00:02:07.380

这是我已经尝试过的

cat sometextfile.txt | sed -r 's /\[0-9]{2}:[0-9]{2}:[0-9]{2}\/ g'
但我不断得到错误:sed:-e表达式#1,char 34:unterminated's'命令


谢谢

语法是
s/
替换什么
/
替换什么
/
。你错过了第二部分。即使你不想用任何东西来替换它,你也需要全部三条斜线;不要把任何东西放在最后两个之间。实际上,您只有一个斜杠,因为第二个斜杠引用了
\
,这意味着
sed
将把它作为表达式的一部分,并在输入中查找文本
/

正则表达式的开头也是错误的
\[0-9]{2}
匹配文本字符串
[0-9
,后跟两个右括号(
]
)。如果要匹配“正好两位数”,请删除初始反斜杠(
\


而且,您永远不需要执行
cat
filename
|
;您只需执行
语法是
s/
替换内容
/
替换内容
/
。你错过了第二部分。即使你不想用任何东西来替换它,你也需要全部三条斜线;不要把任何东西放在最后两个之间。实际上,您只有一个斜杠,因为第二个斜杠引用了
\
,这意味着
sed
将把它作为表达式的一部分,并在输入中查找文本
/

正则表达式的开头也是错误的
\[0-9]{2}
匹配文本字符串
[0-9
,后跟两个右括号(
]
)。如果要匹配“正好两位数”,请删除初始反斜杠(
\


而且,您永远不需要执行
cat
filename
|
;你可以做
谢谢你,马克。。使用建议的命令,我可以删除大约一半的字符串。。这应该足以让我开始,再次感谢!!cat file.txt|sed-E的/[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-999]{3}//g'>文件{u-nostring.txt不是说其他任何东西都可能匹配您的模式,而是要注意
匹配任何字符。要匹配文字小数点/句点,请使用
\.
。谢谢标记。。使用建议的命令,我可以删除大约一半的字符串。。这应该足以让我开始,再次感谢!!cat file.txt|sed-E的/[0-9]{2}:[0-9]{2}:[0-9]{2}.[0-999]{3}//g'>文件{u-nostring.txt不是说其他任何东西都可能匹配您的模式,而是要注意
匹配任何字符。要匹配文字小数点/句点,请使用
\.
sed -E 's/[0-9]{2}:[0-9]{2}:[0-9]{2}//' sometextfile.txt