date - 我正在尝试通过 awk 命令根据日期字段格式“YYYYMMDD”过滤记录。源文件和目标文件以逗号分隔,并用 Header 分隔
问题描述
awk 'BEGIN {FS = ","};(NR>=2){($2 > "20210331");}' test1.csv > test.csv
文件 test1.csv:
Col1,Col2,Col3
A,20210101,JohnA
B,20210101,JohnB
G,20210501,JohnG
C,20210108,JohnC
D,20210202,JohnD
E,20210331,JohnE
F,20210401,JohnF
H,20210715,JohnH
预期输出:
Col1,Col2,Col3
G,20210501,JohnG
F,20210401,JohnF
H,20210715,JohnH
解决方案
您可以简单地将显示样本中的日期视为整数并进行比较。为了打印标题,您需要一个单独的条件。
awk 'BEGIN{FS=OFS=","} FNR==1{print;next} 20210331<$2' Input_file
推荐阅读
- c# - 将 C# WebApp 从 Azure AppService 连接到在另一个 Azure VM 中运行的应用程序
- java - 单击 RecyclerView 中的项目时如何获取详细信息?
- awk - 将 awk 操作应用于特定列
- docker - 这个 docker 命令中的“docker-compose up -d” “-d” 有什么作用
- python - 依靠 pandas 的滚动时间窗口
- github - github问题反馈,如微软文档
- python - print() 的无效关键字参数
- python - 使用 https 的 Python 请求 - 证书验证失败
- angular - 如何使用动态提供程序禁用 Angular 动画?
- c - 使用函数时出现意外的分段错误