gpt4 book ai didi

bash - 从时间中删除秒数(awk,sed)

转载 作者:行者123 更新时间:2023-11-29 09:16:38 26 4
gpt4 key购买 nike

我有这样一个文件:

XX1, 1.1,24.08.1994 13:00:00, 111,112,113
XX2, 1.2,24.08.1994 13:30:00, 121,122,123
XX3, NaN,22.08.1995 15:00, 131,132,133

所以时间格式不一致。有些行的时间格式类似于 hh:mm:ss,有些行的时间格式为 hh:mm。我想删除秒数并得到这样的文件:

XX1, 1.1,24.08.1994 13:00, 111,112,113
XX2, 1.2,24.08.1994 13:30, 121,122,123
XX3, NaN,22.08.1995 15:00, 131,132,133

到目前为止我尝试过的是

#!/bin/bash
sed 's@,\(..\):\(..\):\(..\) @,\1:\2 @' < time_fault > ./time_corrected

#!/usr/bin/awk -f
BEGIN { RS="," ; FS=":"; ORS=","}
{ getline str
gsub(/*..:..:..*/, $1":"$2 str) > time_corrected }

但两者都不起作用。

最佳答案

你几乎明白了。

sed 's@\(..\):\(..\):\(..\)@\1:\2@'

给予

XX1, 1.1,24.08.1994 13:00, 111,112,113
XX2, 1.2,24.08.1994 13:30, 121,122,123
XX3, NaN,22.08.1995 15:00, 131,132,133

关于bash - 从时间中删除秒数(awk,sed),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14685306/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com