Powershell在20个字符后添加文本



我想在20个字符后添加文本。有人有添加内容的简短解决方案吗?或者可以发布一个链接,我可以在那里阅读这样做的方法。

我的文件看起来像这样:

/path1/path1/path1              /path2/path2/path2         /path3/path3/path3

一个应用程序会读取这个paht(不是我的应用程序,我不能以任何方式编辑它(,应用程序会阅读这些路径,它会在它们的位置上读取它们,所以如果第二个路径在10个字符后开始,它不会识别它,所以我不能简单地替换路径或编辑它,因为路径的长度并不总是相同的。为什么应用程序是这样读的?不要问我。

因此,我需要在开始时添加一个字符串,而不是正好在第20个字符处的下一个字符串和第40个字符处。

您可以使用regex-replace运算符在20个字符后注入新的子字符串:

PS ~> $inject = "Hello Manuel! ..."
PS ~> $string = "Injected text goes: and then there's more"
PS ~> $string -replace '(?<=^.{20})',$inject
Injected text goes: Hello Manuel! ...and then there's more

正则表达式模式(?<=^.{20})描述字符串中的一个位置,在该位置,字符串的开头和当前位置之间正好出现20个字符,然后-replace运算符用$inject中的值替换所述位置处的空字符串

这对我来说是

$data.PadRight(20," ") | Out-File -FilePath F:testpath.txt -NoNewline -Append

相关内容

  • 没有找到相关文章

最新更新