You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用sed删除24小时制时间与冒号之间的内容(含冒号)

解决方案

可以使用带扩展正则的sed命令,基于24小时制时间的精准匹配来实现需求,命令如下:

sed -E 's/(([01][0-9]|2[0-3]):[0-5][0-9])(.*:)/\1 /'

命令解释:

  • -E:启用扩展正则表达式,避免对括号等符号转义,简化写法
  • ([01][0-9]|2[0-3]):[0-5][0-9]:精准匹配24小时制时间格式(小时范围00-23,分钟范围00-59),并将其捕获为第一分组\1
  • (.*:):匹配时间之后直到最后一个冒号的所有内容(包括冒号本身)
  • 替换逻辑:保留捕获的时间分组\1,并添加一个空格,直接衔接冒号后的内容

测试验证:

输入示例:

#EXTINF:-1,21:30 UNWANTED TEXT: Apples - Oranges

执行命令后输出:

#EXTINF:-1,21:30 Apples - Oranges

该命令不依赖时间后的空格,只要行内存在符合24小时制的时间,就能精准定位并删除时间到目标冒号之间的冗余内容。

内容的提问来源于stack exchange,提问作者Kenthz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 12:36:24