Я обнаружил, что это самое близкое к тому, что я искал. Идея временного буфера решает эту задачу. Другие решения намекают на циклы for, о которых, на мой взгляд, уже заботится комбинация find -exec.
https://unix.stackexchange.com/a/197400/119007
find./ -name '*.md' -exec sh -c "echo '{}' | sed 's/.md//' | sed 's/2000-01-01-//' > tmp && cat {} >> tmp && mv tmp {}" \;
]# date --date='November 23 2019 00:00:00 PST' +%s
1574496000
Полтора гигасекунды. Я проверил это грубо, вычислив обратно.
]# echo $((2019 - 1574496000/(60*60*24*365)))
1970
for example, "January 1, 1970,...
Возможно, это заставляет некоторых голосовать против, потому что 1.1.1970 — это «нулевая» дата, а не пример. Например, спросить :, как рассчитать количество лет, прошедших, например, с года «0».
Простое расширение для ответа на общий вопрос. Сравните обе даты (с 1970 -01 -01 эпохой )с +%s, затем вычтите секунды. Разделите на 86400, чтобы получить дни.
Возможно, стоит подумать о часовых поясах и переходе на летнее время. В течение целых дней я обычно устанавливаю время на 12 :00 :00, что позволяет избежать большинства этих проблем.