Как заменить даты в текстовом файле с помощью Powershell с помощью регулярных выражений

Я много искал по этому поводу. и не придумал ответ, но я чувствую, что я близок!

У меня есть даты в текстовом файле в следующем формате: 18/06/2012 23:00:43 (дд/мм/гггг ЧЧ:ММ:СС), который я хочу преобразовать в: 2012-18-06 23:00:43 (гггг-дд-мм ЧЧ:ММ:СС)с использованием Powershell.

Чтобы выполнить преобразование в текстовом редакторе с использованием регулярных выражений, я бы сделал следующее:

Find: ([0-9]+)/+([0-9]+)/+([0-9]+)

Replace with: \3-\2-\1

Итак, я попытался использовать ту же логику в следующем скрипте Powershell:

(Get-Content C:\script\test.txt) | 
Foreach-Object {$_ -replace "([0-9]+)/+([0-9]+)/+([0-9]+)", "(\3-\2-\1)"} | 
Set-Content C:\script\test.txt

, но это приводит к следующему нежелательному изменению:

​​\3-\2-\1 23:00:43

Кто-нибудь может мне помочь с этим?

Заранее большое спасибо!

10
задан AshBestos 19 July 2015 в 21:00
поделиться