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

如何使用sed删除每行中第一个冒号及冒号之前的所有字符

sed命令调整方案

适配需求的最终命令

GNU/Linux 环境(主流发行版默认sed)

sed -i 's/.*:\s*//' file.txt

macOS 环境(BSD sed)

sed -i '' 's/.*:\s*//' file.txt

原理解释

  • 原有命令问题:你之前使用的正则将冒号划入了捕获组\1的范围,所以替换输出时会一并保留冒号
  • 新命令逻辑:.*是贪婪匹配规则,会从行首一直匹配到该行最后一个出现的冒号,完全避开了示例中时间戳冒号的干扰;:\s*匹配最后一个冒号以及冒号后可能存在的空格,将匹配到的所有内容整体替换为空,剩下的内容就是你需要的Hello!
  • 特殊场景适配:如果你需要过滤掉没有冒号的行,仅输出处理后的符合条件的内容,可使用命令:sed -n '/.*:\s*/s///p' file.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:15:00