您好我正在尝试创建一个脚本来搜索文件中的特定信息并进行打印。我的情况是这样的:我有一个格式为id|lastname|firstname|birthday|
的文件。我想调用脚本并给出一个日期参数和文件,以便它向我展示在我给出的日期之后出生的所有“人”。
让我告诉你我的代码:
#!/bin/bash
case $1 in
--born-since )
d=($2 +%F); # this one puts the date I've given into the variable d
grep -vE '^#' $4 | awk -F "|" ' $4 >= $d '
;;
esac
我以下列形式称呼此脚本:
./script --born-since <date> -f <file>
重点是它没有做我想做的事。我打印错误的结果。 例如,在具有4个日期的文件中(1989-12-03,1984-02-18,1988-10-14,1980-02-02),给定1985-05-13的日期,它仅打印具有日期的人1984-02-18这是不正确的。 这可能是比较其他东西而不是日期。有什么建议吗?
答案 0 :(得分:1)
使用单个 awk 进程:
awk -v d="1985-09-09" -F'|' '$4 >= d' file