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

如何编写无需文件的Bash命令输出最早与最晚日期

使用AWK从标准输入提取最早和最晚日期

直接用这条AWK命令就能处理标准输入的日期,输出最早和最晚的日期:

awk '{
    if (NR == 1) {
        min = $0
        max = $0
    } else {
        if ($0 < min) min = $0
        if ($0 > max) max = $0
    }
} END {
    print min
    print max
}'

为什么这个命令有效?

因为你输入的日期是YYYY-MM-DD格式,这种格式的字符串可以直接按字典序比较——年份在前,接着是月份、日期,字符串的大小顺序和实际日期的先后顺序完全一致,不需要额外做日期格式转换。

示例用法

输入以下内容(输入完成后按Ctrl+D结束输入):

1910-04-21
2015-03-05
1930-01-23
1908-06-02
2015-07-13

会输出:

1908-06-02
2015-07-13

你也可以配合管道从文件读取输入:

cat your_dates.txt | awk '{if(NR==1){min=$0; max=$0} else {if($0<min)min=$0; if($0>max)max=$0}} END{print min; print max}'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:12:41