私はテクニカルノートの日記ファイルをつけています。各エントリには、次のようにタイムスタンプが付けられます。
# Monday 02012-05-07 at 01:45:20 PM
This is a sample note
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
# Wednesday 02012-06-06 at 03:44:11 PM
Here is another one.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.
タイムスタンプ ヘッダーに基づいて、これらのメモを個々のファイルに分割したいと考えています。例This is a sample note.txt
: Here is another really long title.txt
。ある時点でファイル名を切り詰める必要があると確信していますが、ダイアリーエントリの最初の行に基づいてファイル名をシードすることが考えられます。
ファイルの作成日を Python で変更できるようには見えないので、エントリのタイムスタンプをメモの本文の一部として保存したいと思います。
自分に合ったタイムスタンプをキャプチャするための RegEx パターンがあります。
#(\s)(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday)(\s)(.*)
その正規表現を使用してファイルをループし、各エントリを分割する可能性がありますが、日記ファイルをループして個々のファイルに分割する方法がよくわかりません。実際の正規表現パターンまたは特定の行を取得する例はたくさんありますが、ここでさらにいくつかのことを行いたいので、それらを組み合わせるのに苦労しています。
目的のファイル コンテンツの例を次に示します (日付スタンプ + 次の日付スタンプが一致するまでのすべてのテキスト)。
bash$ cat This\ is\ a\ sample\ note.txt
Monday 02012-05-07 at 01:45:20 PM
This is a sample note
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
bash$