【发布时间】:2016-07-16 15:11:07
【问题描述】:
我使用markdown做笔记,并保存在下面的结构中
$NOTESDIR
- preface.md
- styling.tex
+ YR1
+ sem1
- "LinAlgDat - Transformations and matrices.md"
+ sem2
- "PoP - something fancy.md"
+ YR2
+ sem3
+ ...
+ YR3
+ ...
+ sem6
我正在编写一个脚本,以使用 pandoc 将学期编译为 pdf,或将整年编译为 pdf
pandoc --toc -o "${1}.pdf" "$NOTESDIR/preface.md" $2 &&
echo "Compiling ${1}.pdf"
现在,要将所有文件名提供给命令,我必须对它们进行排序。我想按课程(LinAlgDat,PoP)或按日期对它们进行排序(所有笔记文件都包含一行“>日期:DD-MM-YY”。我可以轻松地使用“ack”来获取所有文件,但我还没有找到对ack的输出进行排序的解决方案。
【问题讨论】:
-
你的格式已经非常接近 YAML 了;我建议切换到那个,然后使用带有 YAML 解析器的语言来处理数据。
-
每个
semX目录中是否有一个.md.file? -
每个 semX 目录中有多个
.md,通常还有多个课程。 -
很遗憾,您没有使用像
YYYY-MM-DD这样的自然排序格式命名您的文件。因此,您必须将文件名保存到文本文件中,然后在该文件上使用sort -k3 -k2 -k1(或类似的man sort并查看sortQs 以了解*k*eys的高级用法)并使用它来驱动你的处理。祝你好运。