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

sed正则匹配问题:移除T后内容但保留Start Time字段

问题

原始CSV数据如下:

"Reserved DB Instances","State","Start Time"
"alpha-db-dev-26aug2021","active","2021-08-26T06:29:11.121000+00:00"
"beta-db-dev-26aug2021","active","2021-08-26T09:30:49.669000+00:00"
"charlie-db-dev-8dec2021","active","2021-12-08T06:36:26.307000+00:00"

需求:移除日期中T之后的所有内容,但保留表头里的"Start Time"字段。

之前尝试的命令存在问题:

  • 执行sed -e s/[0-9]T.*//g csvtest2.csv会误删日期的最后一位数字;
  • 执行sed -e s/T.*//g csvtest2.csv虽然日期处理正确,但会截断表头的"Time"部分。

期望得到的正确输出:

"Reserved DB Instances","State","Start Time"
"alpha-db-dev-26aug2021","active","2021-08-26"
"beta-db-dev-26aug2021","active","2021-08-26"
"charlie-db-dev-8dec2021","active","2021-12-08"
正确的sed命令

可以使用以下sed命令实现需求:

sed '1!s/T.*//' csvtest2.csv

命令解释:

  • 1!:表示不对第1行(表头)执行后续替换操作,确保表头的"Start Time"完整保留;
  • s/T.*//:对第2行及以后的内容,将T及其后面的所有字符替换为空,精准截断日期到T之前的部分,不会误删日期数字。

如果需要直接修改原文件(建议先备份原文件),可添加-i参数:

sed -i '1!s/T.*//' csvtest2.csv

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 01:54:26