我的文件包含以下数据(无标题)
DEPOSIT ADD 123456789 (VALUE)(VARIABLE) NNNN VALUEVARIABLE
DEPOSIT ADD 234567890 (VALUE)(P75) NNNN VALUEVARIABLE
DEPOSIT ADD 345678901 (VALUE)(VARIABLE) NNNN VALUEVARIABLE
这是一个制表符分隔的文本文件。
总共有 5 列。 (123456789 (VALUE)(VARIABLE) 是单值列)
我的要求是:
- 我只需要获取包含的行P75在同一文件中更新。
- 获取后我必须替换 Col3、Col4 和 Col5 中的值P75其他行应该不受影响。
from
DEPOSIT ADD 234567890 (VALUE)(P75) NNNN VALUEVARIABLE
to
DEPOSIT ADD 234567890 (VTG)(SPVTG) TCM VTGSPVTG
- 只有包含 P75 的记录才应该这样更新。所有选定记录的替换值都相同。
我写的脚本是
$original_file='C:\Path\20200721130155_copy.txt' -header Col1,Col2,Col3,Col4,Col5,| Select Col3,Col4,Col5
(Get-Content $original_file) |ForEach-Object {
if($_.Col3 -match '(VALUE)(P75)')
{
$_ -replace '(VALUE)(P75)', '(VTG)(SPVTG)' `
-replace 'VALUEVARIABLE', 'VTGSPVTG' `
-replace 'NNNN', 'TCM' `
}
$_
}| Set-Content $original_file+'_new.txt' -Force
我得到具有相同内容的输出文件。该文件没有得到更新。
请指教。
Thanks