Используя файл уценки, я отслеживаю свою активность.
К концу недели мне нужно составить отчет о том, сколько времени я потратил на тему.
Что я пытаюсьсделать следующее:
- Из MASTERFILE (см. https://pastebin.com/1Qs8f00M), создать ежедневный и подробный отчет о моей деятельности.
- Из этих ежедневных отчетов (ожидаемый результат будетбыть https://pastebin.com/Pn56B3Fb), извлечь мой отчет о времени.
MASTERFILE:
## %XXX ProjectName1
<br>
- XXX : Restabat ut Caesar post haec properaret accitus et ...
- XXX : fictisque blanditiis hortabatur...
```
$ various_commands or reminder
```
- XXX : Restabat ut Caesar post haec properaret accitus et abstergendae causa suspicionis sororem suam, eius uxorem, quid moliretur haerebat. : CHRG=0.5
```
Novo denique perniciosoque exemplo idem Gallus ausus est inire flagitium grave, quod Romae cum ultimo dedecore temptasse aliquando dicitur Gallienus, et adhibitis paucis clam ferro succinctis vesperi per tabernas palabatur et conpita quaeritando Graeco sermone, cuius erat inpendio gnarus, quid de Caesare quisque sentiret.
Sed ut tum ad senem senex de senectute, sic hoc libro ad amicum amicissimus scripsi de amicitia. Tum est Cato locutus, quo erat nemo fere senior temporibus illis, nemo prudentior; nunc Laelius et sapiens (sic enim est habitus) et amicitiae gloria excellens de amicitia loquetur.
```
<br>
## %YYY ProjectName2
<br>
- YYY : Restabat ut Caesar post haec properaret accitus et : CHRG=0.25
<br>
Последнее легко, поскольку мои задачи структурированы:
- [ProjectCode] : some details : CHRG=0,5
Следующее работает довольно хорошо:
Get-Content -Raw .\test.md |
Select-String '(-.*CHRG=.*)' -AllMatches |
Foreach {$_.Matches} |
Foreach {$_.Value}
Первое сложнее: я не могу понять правильное регулярное выражение для
- строк соответствия, таких как
## %XXX ProjectName1
и - сопоставить блок строк, начинающийся со строки, содержащей
CHRG=
и заканчивающийся строками, содержащими <br>
.
С Многострочное регулярное выражение для соответствия блоку конфигурации ,До сих пор я безуспешно пробовал следующее (я пытался найти маяк или маркер полезными, так как я использую PANDOC в моих файлах .MDсоздавать файлы .HTML;две птицы одним камнем):
Get-Content -Raw .\test.md |
Select-String '(?smi)(^## %.*|^-\s.*CHRG=.*).*?<br>' -AllMatches |
Foreach {$_.Matches} |
Foreach {$_.Value}
Желаемый результат будет:
## %XXX ProjectName1
<br>
- XXX : Restabat ut Caesar post haec properaret accitus et abstergendae causa suspicionis sororem suam, eius uxore m, quid moliretur haerebat. : CHRG=0.5
<code>
Novo denique perniciosoque exemplo idem Gallus ausus est inire flagitium grave, quod Romae cum ultimo dedecore tem ptasse aliquando dicitur Gallienus, et adhibitis paucis clam ferro succinctis vesperi per tabernas palabatur et conpita quaeritando Graeco sermone, cuius erat inpendio gnarus, quid de Caesare quisque sentiret.
Sed ut tum ad senem senex de senectute, sic hoc libro ad amicum amicissimus scripsi de amicitia. Tum est Cato locutus, quo erat nemo fere senior temporibus illis, nemo prudentior; nunc Laelius et sapiens (sic enim est habitus) et amicitiae gloria excellens de amicitia loquetur.
</code>
<br>
## %YYY ProjectName2
<br>
- YYY : Restabat ut Caesar post haec properaret accitus et : CHRG=0.25
<br>
Фактический результат:
## %XXX ProjectName1
<br>
- XXX : Restabat ut Caesar post haec properaret accitus et ...
- XXX : fictisque blanditiis hortabatur...
<code>
$ various_commands or reminder
</code>
- XXX : Restabat ut Caesar post haec properaret accitus et abstergendae causa suspicionis sororem suam, eius uxorem, quid moliretur haerebat. : CHRG=0.5
<code>
Novo denique perniciosoque exemplo idem Gallus ausus est inire flagitium grave, quod Romae cum ultimo dedecore temptasse aliquando dicitur Gallienus, et adhibitis paucis clam ferro succinctis vesperi per tabernas palabatur et conpita quaeritando Graeco sermone, cuius erat inpendio gnarus, quid de Caesare quisque sentiret.
Sed ut tum ad senem senex de senectute, sic hoc libro ad amicum amicissimus scripsi de amicitia. Tum est Cato locutus, quo erat nemo fere senior temporibus illis, nemo prudentior; nunc Laelius et sapiens (sic enim est habitus) et amicitiae gloria excellens de amicitia loquetur.
</code>
<br>
## %YYY ProjectName2
<br>
- YYY : Restabat ut Caesar post haec properaret accitus et : CHRG=0.25
<br>