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

基于Bash管道从wget响应中提取最新日期对应的SHA值

单行Bash命令提取最新日期对应的SHA值

场景说明

假设你的wget响应输出格式如下(日期为DD-MON-YYYY格式,SHA为最后一列):

-rwxr-xr-x 1 1000 1000 4096 12-Oct-2022 1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t
-rwxr-xr-x 1 1000 1000 4096 25-Nov-2023 0a45a37b80557cf4252dbd916ec4ab8477f4b4e4
-rwxr-xr-x 1 1000 1000 4096 05-Sep-2021 f1e2d3c4b5a69876543210abcdefghijklmnopqrs

解决方案单行命令

wget -qO- http://your-target-url | awk '{split($5, d, "-"); printf "%s-%s-%s %s\n", d[3], d[2], d[1], $6}' | sort -r | head -n1 | awk '{print $2}'

命令拆解

  • wget -qO- http://your-target-url:静默获取目标页面内容,直接输出到标准输出(不生成本地文件)
  • awk '{split($5, d, "-"); printf "%s-%s-%s %s\n", d[3], d[2], d[1], $6}':
    1. 把DD-MON-YYYY格式的日期字段(示例中是第5列)按-分割为数组d
    2. 将日期重排为YYYY-MON-DD格式,和SHA值拼接输出,让sort能正确识别日期顺序
  • sort -r:按日期逆序排序,最新的条目会排在第一行
  • head -n1:提取排序后的第一行(最新日期的条目)
  • awk '{print $2}':从该行中提取SHA值

适配不同字段位置

如果你的wget输出中日期和SHA的字段位置不同,只需调整awk中的字段序号(比如$5换成日期所在列,$6换成SHA所在列)即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:22:44