shell Bash脚本-获取小于特定日期的值

z3yyvxxp  于 2022-11-16  发布在  Shell
关注(0)|答案(1)|浏览(190)

您好,我有一个脚本的这一部分,我希望只获取日期(第3栏)早于2002年10月30日(格式为年/月/日),但我无法正确获取数据。我尝试了不同的方法,例如将值存储在变量上并调用$,或者将其放在列$3的数据类型为“date”。
你能帮我吗?我应该如何过滤只为旧的值比该日期?

#!/bin/bash
IFS=',' records=() sorted=()
{
    IFS='' read -r header

    while read -r -a values
    do
        [[ ${values[3]} < "10/30/2002" ]] || continue

        case....
hjzp0vay

hjzp0vay1#

如果您无法更改格式,如注解中所述,请将其转换为秒并用于比较(* 请注意,date命令的选项可以不同,这是针对macOS*)

#! /bin/bash

to_s() {
    local f='%m/%d/%Y %H:%M:%S'
    echo "$(date -ujf "$f" "$1 00:00:00" +'%s')"
}

s=$(to_s '10/30/2002')

while read -r -a values
do
    [[ $(to_s "${values[3]}") -lt $s ]] || continue
    # ...

相关问题