linux - 有没有办法使用 bash 脚本根据发布日期值对 *.md 文件进行排序?
问题描述
我正在写博客,并且正在使用降价文件格式保存这些博客文章。该文件包含发布日期和更新日期。lowdown
我可以在工具的帮助下调用我需要的信息,例如发布日期。到目前为止,一切都很顺利。但是当我想按索引页面的发布日期进行排序时,我找不到这样做的方法。
注意:我使用的日期格式;
YYYY-MM-DD
作为我试图达到的结果的一个例子;
(假设我们正在循环浏览包含博客文章的目录)
for post in *.md; do
title=$(lowdown -X title $post)
date=$(lowdown -X date $post)
<h1>$date</h1>
<h1>$title</h1>
done
输出给出自然顺序(我认为)。
2021-10-02 2th Post
2021-10-04 Last Post
...
我的期望是用 $date 值对它们进行排序。
2021-10-04 Last Post
2021-10-03 3th Post
2020-10-02 2th Post
2019-10-01 1th Post
解决方案
您可以将输出通过管道传递sort -r
到顶部的获取最新帖子,如下所示:
for post in *.md; do
title=$(lowdown -X title $post)
date=$(lowdown -X date $post)
echo "$date $title"
done | sort -r
推荐阅读
- r - RMarkdown 到 PDF 和 Fancyhdr - 控制标题后的间距
- kubernetes - Rancher:kubernetes 集群卡在等待中。“没有到主机的路由”
- php - 通过 Laravel 集合创建单个数组,但具有特定字段
- node.js - Lambda 函数 NodeJS 版本始终恢复到 12.x
- kotlin - Kotlin 自动将字符串转换为 Enum
- javascript - 反编译的 APK 上的 JS 中的 API 密钥
- python - 使用相同变量的 Python 线程
- firebase - 类“_JsonDocumentSnapshot”没有实例方法“调用”。接收方:“_JsonDocumentSnapshot”实例尝试调用:call()
- react-native - 反应原生模态状态栏是白色不透明
- sql - 为同一商品透视不同的价格