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

求助:使用AWK命令筛选CSV中日期格式不符YYYY-MM-DD的记录

需求与问题

需要用AWK命令处理CSV文件,达成以下目标:

  • 跳过文件首行
  • 识别第11列(日期字段)包含斜线/的记录(合规格式应为YYYY-MM-DD,禁止出现斜线)
  • 将这些无效记录输出到指定文件

以下是尝试的两段失效脚本、对应错误信息及测试数据:

尝试的脚本1

awk -F \| '{if(NR > 1) {{$11~/[/]/}}}' $datadir/sys_slate_app_test.csv > "invalid_other.txt"

错误信息

awk: fatal: cannot open file `/sys_slate_app_test.csv' for reading (No such file or directory)

尝试的脚本2

awk -F \| '{if(NR > 1) {{$11~/^//}}}' $datadir/sys_slate_app_test.csv > "invalid_other.txt"

错误信息

awk: cmd. line:1: {if(NR > 1) {{$11~/^//}}}
awk: cmd. line:1: ^ syntax error

测试数据

"30"|"958433018"|"999999999"|"11111111"|"202340"|""|"222222222"|"Tyler"|"Ward"|"email328@yahoo.com"|"2022/08/23"|"UG"|"TR"|"0"|"0"|"0"|"2"|"1"|"RD"|"0"|"1"|"2023-03-09"
"30"|"958433018"|"999999999"|"11111111"|"202340"|""|"222222222"|"Tyler"|"Ward"|"email328@yahoo.com"|"2022/09/10"|"UG"|"TR"|"0"|"0"|"0"|"2"|"1"|"RD"|"0"|"1"|"2023-03-09"
"30"|"958433018"|"999999999"|"11111111"|"202340"|""|"222222222"|"Tyler"|"Ward"|"email328@yahoo.com"|"2022-08-23"|"UG"|"TR"|"0"|"0"|"0"|"2"|"1"|"RD"|"0"|"1"|"2023-03-09"
"30"|"958433018"|"999999999"|"11111111"|"202340"|""|"222222222"|"Tyler"|"Ward"|"email328@yahoo.com"|"2022-06-11"|"UG"|"TR"|"0"|"0"|"0"|"2"|"1"|"RD"|"0"|"1"|"2023-03-09"
"30"|"958433018"|"999999999"|"11111111"|"202340"|""|"222222222"|"Tyler"|"Ward"|"email328@yahoo.com"|"2022/08/23"|"UG"|"TR"|"0"|"0"|"0"|"2"|"1"|"RD"|"0"|"1"|"2023-03-09"
解决方案

正确的AWK命令

awk -F '|' 'NR>1 && $11 ~ /\// {print}' "$datadir/sys_slate_app_test.csv" > "invalid_other.txt"

原脚本问题解析

  1. 脚本1的错误点:

    • 字段分隔符\|未用引号包裹,shell解析时丢失转义,导致$datadir变量与文件名拼接失败,变成了/sys_slate_app_test.csv,无法找到文件。
    • 仅做了匹配判断,缺少print语句,即使匹配成功也不会输出内容。
    • 多余的双层大括号{{}}属于无效语法,AWK不需要嵌套大括号。
  2. 脚本2的错误点:

    • 正则表达式写法错误:/^//中斜线未转义,正确写法应为/\//;且^表示行首,此处不需要,只需判断字段包含斜线即可。
    • 同样缺少print语句,且存在多余的嵌套大括号。

命令说明

  • -F '|':用单引号包裹分隔符,避免shell解析转义字符,正确设置字段分隔符为竖线。
  • NR>1:跳过首行(NR代表记录号,即行号)。
  • $11 ~ /\//:判断第11个字段包含斜线/。
  • {print}:当条件满足时,输出当前整行记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:44:57