ਕਿਸ ਨੂੰ ਬੈਚ ਨੂੰ Windows PowerShell ਵਿਚ ਫਾਇਲ regex ਵਰਤ ਦਾ ਹਿੱਸਾ ਬਦਲੋ?

ਇਸ ਉਦਾਹਰਨ ਵਿੱਚ, ਸਾਡੇ ਕੋਲ 6 ਮਿਤੀ ਅਤੇ ਹੇਠ ਫਾਇਲ ਦੇ ਨਾਲ ਹੇਠ ਫਾਇਲ ਨੂੰ:

ਮੋਡ LastWriteTime ਦੀ ਲੰਬਾਈ ਦਾ ਨਾਮ
----                -------------         ------ ----
-ਨੂੰ ਇੱਕ ----       10/06/2018     12:40              0 1 = 9.8.16 ਬਕ ਬਿਆਨ 298.67.pdf
-a ----       10/06/2018     12:40              0 2 = 9.9.16 ਬਕ ਬਿਆਨ 134.74.pdf
-a ----       10/06/2018     12:41              0 3 = 9.10.16 ਬਕ ਬਿਆਨ 123.43.pdf
-a ----       10/06/2018     12:41              0 4 = 9.11.16 ਬਕ ਬਿਆਨ 134.54.pdf
-a ----       10/06/2018     12:41              0 5 = 9.12.16 ਬਕ ਬਿਆਨ 157.98.pdf
-a ----       10/06/2018     12:41              0 6 = 9.1.17 ਬਕ ਬਿਆਨ 123.45.pdf

ਇਥੇ, ਫਾਇਲ ਨੂੰ ਇੱਕ ਸੀਰੀਅਲ ਸ਼ਾਮਿਲ ਹੈ # ਸੁਰੂ ਦੇ ਵਿੱਚ, = ਬਾਅਦ, 'ਬਕ ਬਿਆਨ ਦੇ ਬਾਅਦ’ ਬਿਆਨ ਸੰਤੁਲਨ ਦੇ ਅੰਤ ਦੇ ਬਾਅਦ.

ਇਹ ਫਾਇਲ ਇਸ ਤੱਥ ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਬਿਆਨ ਅਤੇ ਸ਼ਬਦ 'ਬਕ ਵਿੱਚ ਹਨ,’ ਸ਼ਬਦ 'ਕ੍ਰੈਡਿਟ ਕਾਰਡ' ਨਾਲ ਤਬਦੀਲ ਕਰਨ ਦੀ ਲੋੜ ਹੈ. ਸਾਰੇ ਫਾਇਲ ਦੇ ਬਾਕੀ ਉਸੇ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ.

ਇਸ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, we will be using Windows PowerShell with Regex.

ਸਾਰੇ ਬਕ ਬਿਆਨ ਦੀ ਸੂਚੀ ਵੇਖਣ ਲਈ, ਸਾਨੂੰ ਵੀ ਵਰਤ ls ਹੁਕਮ, ਫਿਰ ਪਾਈਪ ਆਉਟਪੁੱਟ

ls | ਬੱਚੇ -newname {$_.name -replace('(.+)ਬਕ(.+)','$ 1Credit ਕਾਰਡ $ 2')}

ਬਦਲਣ ਦਾ ਹੁਕਮ ਰੱਖਿਆ ਕਰਨ ਲਈ ਪਾਈਪ ਬਾਅਦ ਵਰਤਿਆ ਗਿਆ ਹੈ. $_ ਇਕਾਈ ਹੈ, ਜੋ ਕਿ ਪਾਈਪ ਅੱਗੇ ਆਉਟਪੁੱਟ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਸਾਨੂੰ ਦੇ ਨਾਮ ਦੀ ਸੰਪਤੀ ਵਰਤ ਰਹੇ ਹੋ $_ ਇਕਾਈ. -replace is used on strings in PowerShell, ਜੋ ਕਿ ਇੱਕ ਨਵ ਸਤਰ ਦੇ ਨਾਲ ਇੱਕ ਸਤਰ ਨੂੰ ਤਬਦੀਲ. -replace ਇੱਕ ਫੰਕਸ਼ਨ ਹੈ, ਜੋ ਕਿ ਲੱਗਦਾ ਹੈ ਹੈ 2 ਪੈਰਾਮੀਟਰ. ਨੂੰ 1 ਪੈਰਾਮੀਟਰ ਪੁਰਾਣੇ ਸਤਰ, ਜੋ ਕਿ ਸਾਨੂੰ ਨੂੰ ਤਬਦੀਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਹੈ ਅਤੇ 2 ਪੈਰਾਮੀਟਰ ਨਵ ਸਤਰ ਹੈ.

Regex ਵਿੱਚ ਗਰੁੱਪ ਦੇ ਜਿੱਤਣ ਸਾਨੂੰ ਸਤਰ ਦੇ ਹਿੱਸੇ ਰੱਖਣ ਲਈ ਸਹਾਇਕ ਹੈ. regex ਵਿੱਚ, ਬਰੈਕਟ ਵਿੱਚ ਪਾ ਕੁਝ ਵੀ ਬਾਅਦ ਵਿੱਚ ਵਰਤਣ ਲਈ ਕਬਜ਼ਾ ਕਰ ਰਿਹਾ ਹੈ. ਉਦਾਹਰਨ ਲਈ. (.+)Bank(.+) ਅੱਗੇ ਹੈ ਅਤੇ ਅੱਖਰ 'ਬਕ' ਦੇ ਬਾਅਦ ਕੁਝ ਵੀ ਹਾਸਲ. ਸਾਨੂੰ ਇਹ ਕਬਜ਼ਾ ਕਰ ਹਿੱਸੇ ਨੂੰ ਵਰਤ ਸਕਦੇ ਹੋ, ਵਰਤ ਕੇ $ ਅਤੇ ਇੱਕ ਨੰਬਰ. 1 ਦਾ ਬਰੈਕਟ ਵਿੱਚ ਹਾਸਲ $1 ਅਤੇ 2 ਬਰੈਕਟ ਵਿੱਚ ਹਾਸਲ $2 ਆਦਿ…

ਨੂੰ 1 ਪੈਰਾਮੀਟਰ ਵਿੱਚ, ਸਾਨੂੰ ਪੁਰਾਣੇ ਸਤਰ, ਜੋ ਕਿ ਸਾਨੂੰ ਨੂੰ ਤਬਦੀਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਨੂੰ ਨਿਰਧਾਰਿਤ, ਅਤੇ ਉਸੇ ਵੇਲੇ 'ਤੇ ਸਾਨੂੰ ਸਤਰ ਦੇ ਹਿੱਸੇ, ਜੋ ਕਿ ਸਾਨੂੰ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਕੈਪਚਰ (ਕੈਪਚਰ). 2 ਪੈਰਾਮੀਟਰ ਵਿੱਚ, ਨਵ ਸਤਰ ਤੇ ਕਬਜ਼ਾ ਹਿੱਸੇ ਕਿ ਸਾਨੂੰ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਵਰਤਦਾ ਹੈ, ਦੇ ਨਾਲ ਨਾਲ ਨਵ ਸਤਰ ਨੂੰ ਆਪਣੇ ਆਪ ਨੂੰ ਦੇ ਤੌਰ ਉਦਾਹਰਨ. '$1Credit Card$2'.

ਨਤੀਜਾ:

ਮੋਡ LastWrite ਟਾਈਮ ਦੀ ਲੰਬਾਈ ਦਾ ਨਾਮ
----       ---------      ----            ------   ----
-ਨੂੰ ਇੱਕ ----     10/06/2018     12:40              0 1 = 9.8.16 ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਬਿਆਨ 298.67.pdf
-a ----     10/06/2018     12:40              0 2 = 9.9.16 ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਬਿਆਨ 134.74.pdf
-a ----     10/06/2018     12:41              0 3 = 9.10.16 ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਬਿਆਨ 123.43.pdf -a ----     10/06/2018     12:41              0 4 = 9.11.16 ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਬਿਆਨ 134.54.pdf -a ----     10/06/2018     12:41              0 5 = 9.12.16 ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਬਿਆਨ 157.98.pdf -a ----     10/06/2018     12:41              0 6 = 9.1.17 ਕ੍ਰੈਡਿਟ ਕਾਰਡ ਬਿਆਨ 123.45.pdf

ਕੋਈ ਜਵਾਬ ਛੱਡਣਾ