Nola sorta Windows PowerShell-en fitxategi-izena Regex erabilita zati izena aldatu?

Adibide honetan, daukagu 6 data eta fitxategi izena dionean azpitik fitxategiak:

Mode LastWriteTime Luzera izena
----                -------------         ------ ----
-a ----       10/06/2018     12:40              0 1 = 9.8.16 Bank Statement 298.67.pdf
-a ----       10/06/2018     12:40              0 2 = 9.9.16 Bank Statement 134.74.pdf
-a ----       10/06/2018     12:41              0 3 = 9.10.16 Bank Statement 123.43.pdf
-a ----       10/06/2018     12:41              0 4 = 9.11.16 Bank Statement 134.54.pdf
-a ----       10/06/2018     12:41              0 5 = 9.12.16 Bank Statement 157.98.pdf
-a ----       10/06/2018     12:41              0 6 = 9.1.17 Bank Statement 123.45.pdf

hemen, filename serieko bat dauka # hasieran, jarraian = arabera, jarraian 'Bank Statement arabera’ jarraian adierazpen oreka amaieran.

fitxategiok Izan Kreditu txartela adierazpenak eta hitza 'Bank daude’ beharretara ordezkatuko da hitzak 'Kreditu txartela' moduan. filename gainerako guztiak berdin jarraituko luke.

Hori lortzeko asmoz, we will be using Windows PowerShell with Regex.

banku-adierazpenak guztiak zerrendatzeko, erabiltzen dugun ls komandoa, Orduz kanalizazio irteera

ls | ren -newname {$_.name -replace('(.+)Bank(.+)','$ 1Credit Txartela $ 2')}

Izena aldatu komando fitxategiak izenez aldatzeko kanalizazio ondoren erabiltzen da. $_ irteera antolatzen kanalizazio aurretik objektu da, eta izena jabetzakoak erabiltzen ari gara $_ Objektu. -replace is used on strings in PowerShell, bertan kate berri batekin kate bat ordezkatzen du. -replace eramango funtzioa da 2 parametroak. 1go parametroak zaharraren katea ordeztu nahi duguna da, eta 2. parametroa kate berria da.

Regex talde atzemateko aukera ematen kate zatiak mantentzeko gurekin. Regex in, ezer parentesi jarri harrapatu beranduago erabiltzeko. adibidez. (.+)Bank(.+) ezer harrapatzen aurretik eta 'Bank' ondoren. harrapatu zati horiek erabili ahal izango dugu, erabiliz $ eta zenbaki bat. 1go parentesi sartu harrapatzen $1 eta 2. parentesi sartu harrapatzen $2 etab…

1go parametroan, zaharraren katea ordeztu nahi dugu zehaztu dugu, eta, aldi berean, kate zati hori mantendu nahi dugu harrapatzeko dugu (capture). 2. Parametro In, kate berria harrapatu zati hori mantendu nahi dugu erabiltzen du, baita kate berri bera bezain adibidez. '$1Credit Card$2'.

Emaitza:

Mode LastWrite Time Luzera izena
----       ---------      ----            ------   ----
-a ----     10/06/2018     12:40              0 1 = 9.8.16 Kreditu txartelaren adierazpena 298.67.pdf
-a ----     10/06/2018     12:40              0 2 = 9.9.16 Kreditu txartelaren adierazpena 134.74.pdf
-a ----     10/06/2018     12:41              0 3 = 9.10.16 Kreditu txartelaren adierazpena 123.43.pdf -a ----     10/06/2018     12:41              0 4 = 9.11.16 Kreditu txartelaren adierazpena 134.54.pdf -a ----     10/06/2018     12:41              0 5 = 9.12.16 Kreditu txartelaren adierazpena 157.98.pdf -a ----     10/06/2018     12:41              0 6 = 9.1.17 Kreditu txartelaren adierazpena 123.45.pdf

Utzi erantzuna