Linux 用于组合多个字段验证的AWK脚本
我有一个带有插入符号(^)分隔符的7列文件 范例 我编写了一个awk命令,它将检查重复项Linux 用于组合多个字段验证的AWK脚本,linux,bash,shell,awk,sed,Linux,Bash,Shell,Awk,Sed,我有一个带有插入符号(^)分隔符的7列文件 范例 我编写了一个awk命令,它将检查重复项 awk '!seen[$0]++' filename 第一个字段的长度应为10,第二个字段的长度应为8 awk -f '^' '{ if ((length($1) == 10) && (length($1) == 10)) print }' 问题是 我如何进行时间验证([0-9]:[0-9]:[0-9])?什么是awk查询 awk-F“^”$5~[0-9]:[0-9]:[0-9]”打印
awk '!seen[$0]++' filename
第一个字段的长度应为10,第二个字段的长度应为8
awk -f '^' '{ if ((length($1) == 10) && (length($1) == 10)) print }'
问题是
[0-9]:[0-9]:[0-9]
)?什么是awk查询
awk-F“^”$5~[0-9]:[0-9]:[0-9]”打印
但这是行不通的可以将它们组合成一个awk命令,如下所示:
awk -F '^' 'length($1) == 10 && length($2) == 8 &&
$3 ~ /^[0-9]+\.[0-9]+$/ && $5 ~ /^[0-9]{2}:[0-9]{2}:[0-9]{2}$/ && !seen[$0]++' file
完美的我如何验证2015年8月2日,任何或只是
/^[0-9]{2}[A-S][A-z]{2}[0-9]{2}$/
是/^[0-9]{2}[A-S][A-z]{2}[0-9]{2}$/
应该可以很好地工作。这是一种魅力,+1是有效的方法
awk -F '^' 'length($1) == 10 && length($2) == 8 &&
$3 ~ /^[0-9]+\.[0-9]+$/ && $5 ~ /^[0-9]{2}:[0-9]{2}:[0-9]{2}$/ && !seen[$0]++' file