Sprawdź metadane:
$ sed -ne '/^---/,/^---/p' bnf.md
---
title: BNF
author: John Doe
date: 2005-03-12 01:26:19
tags: [bnf, rfc]
---
Zmień wszystkie pliki w katalogu:
$ for i in *.md; do
d="$(awk '/^date: [0-9]+/ { print $2,$3 }' $i)";
touch -c -d "$d" $i;
done
More information
Operacja na tym dokumencie zwróci dwie daty:
$ awk '/^date: [0-9]+/ { print $2,$3 }' touch-zmiana-czasu-modyfikacji.md
2007-12-10 23:29:54
2005-03-12 01:26:19
Rozwiązaniem jest ograniczenie czytania pliku do kilku pierwszych linii:
$ awk 'FNR<6 && /^date: [0-9]+/ { print $2,$3 }' touch-zmiana-czasu-modyfikacji.md
2007-12-10 23:29:54
$ head -n5 touch-zmiana-czasu-modyfikacji.md | awk '/^date: [0-9]+/ { print $2,$3 }'
2007-12-10 23:29:54