当前位置: 首页 > 知识库问答 >
问题:

当日期格式约束与日期格式列不匹配时,如何使用awk按日期列过滤csv文件?

魏风华
2023-03-14

我需要过滤一个csv文件,其中第25列的日期格式为“yyyy-mm-dd hh:mm:ss”,以便只显示包含今天日期的整行,并将它们放在一个单独的文件中(希望这是清楚的)。

现在,我回到以下几点:

Today=日期'+%y-%m-%d'

awk-f“;”“{if($25==”$Today“)print}”input.csv>Today.csv“

还有,我需要保持日期列的格式原样(YYYY-MM-DD hh:mm:ss)。

提前多谢,希望有人能帮忙!

共有1个答案

齐威
2023-03-14

您可以使用正则表达式来匹配字段的开头,即匹配字段的前10个字符(YYYY-MM-DD)。

today=$(date '+%Y-%m-%d')
awk -v regex="^$today" -F';' '$25 ~ regex' input.csv > today.csv

这会将带有-v$Today变量的值传递给awk并在前面加上一个^以匹配字段的开头。

 类似资料:
  • 设定年月日的排列顺序。

  • 我是批处理/shell脚本的新手。我有一个CSV文件是这样的: 大约2000张唱片。col由Tab分隔。我想将日期列更改为以下格式:

  • 我想在获得,和。 这是一条漫长的道路: 我的问题:如何将最后一部分压缩到函数? 我想归档的内容: p/s:的含义与标准数字格式字符串相同。像C#语法:

  • 本文向大家介绍vue使用过滤器格式化日期,包括了vue使用过滤器格式化日期的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了vue使用过滤器格式化日期的具体代码,供大家参考,具体内容如下 案例要求 案例讲解 1、查看未过滤格式化的日期格式 2、设置模板函数format 接收日期值和日期格式 3、按照日期格式对日期进行拼接并返回值 4、将拼接好的日期显示在页面上 最终案例效果 代码 设置

  • 下表显示可用于为图表中的日期时间字段创建用户定义的数据格式的说明符。 说明符 描述 D 将日显示为不带前导零的数字(1-31)。 DD 将日显示为带前导零的数字(01-31)。 M 将月份显示为不带前导零的数字(1-12)。 MM 将月份显示为带前导零的数字(01-12)。 MMM 将月份显示为缩写形式(Jan-Dec)。 MMMM 将月份显示为完整月份名(January-December)。 Y

  • 下表显示可用于为图表中的日期时间字段创建用户定义的数据格式的说明符。 说明符 描述 D 将日显示为不带前导零的数字(1-31)。 DD 将日显示为带前导零的数字(01-31)。 M 将月份显示为不带前导零的数字(1-12)。 MM 将月份显示为带前导零的数字(01-12)。 MMM 将月份显示为缩写形式(Jan-Dec)。 MMMM 将月份显示为完整月份名(January-December)。 Y