gpt4 book ai didi

powershell - 批量查找和替换特定文本的脚本,然后在.txt文件中的替换文本之后添加3个空格

转载 作者:行者123 更新时间:2023-12-02 23:37:09 25 4
gpt4 key购买 nike

我对脚本还很陌生,并且已经在Internet上四处搜寻,但是似乎无法为我要实现的目标找到具体的解决方案,因此我希望有人可以提供一些帮助。

我有一个.txt文件,其中包含各种数据行,这些数据行是根据特定的列号(基本上是一个数据表)从文本开始组织的。请参见下面的示例,其中显示了每一列的起始位置:

 |            |                                      |
|1214000 |1234567890 |ISRBWPX0001000001
| | |
|MD-3300 |+12345678912 |MDABWPX0001000001
| | |
| | |
| | |
Col:620 Col:632 Col:672

Please click here for screenshot if above example makes no sense

我希望脚本在第620列中找到所有包含“MD-”的行并将其删除,因此仅保留数字。因此,我在PowerShell中运行了Replace命令,该命令确实删除了所有包含“MD-”的行,但是它使其余各列未对齐;

使用的PowerShell命令:
(Get-Content "test.txt") | 
Foreach-Object {$_.replace("MD-", "")} |
Set-Content "testedited.txt"

上面命令的输出:
 |            |                                      |
|1214000 |1234567890 |ISRBWPX0001000001
| | |
|3300 |+12345678912 |MDABWPX0001000001
| | |
| | |
| | |
Col:620 Col:632 Col:672

Click here for screenshot if above example makes no sense

如您所见,“+ 12345678912”不再与列632对齐,而“MDABWPX0001000001”不再与列672对齐。

有没有一种方法可以执行上述命令而不影响其他列?我读到某个地方哈希表可以做到这一点,但是我并不完全理解该方法。

所需的输出:
 |            |                                      |
|1214000 |1234567890 |ISRBWPX0001000001
| | |
|3300 |+12345678912 |MDABWPX0001000001
| | |
| | |
| | |
Col:620 Col:632 Col:672

Please click here to see screenshot of desired output

我愿意使用任何脚本语言/方法来执行此任务,因此任何建议将不胜感激。

提前非常感谢您。

最佳答案

$_ -replace '(?<=.{620})MD-([0-9]+)',('$1'+' '*3)

关于powershell - 批量查找和替换特定文本的脚本,然后在.txt文件中的替换文本之后添加3个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52546379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com