如何使用PowerShell为特定字符的每一行添加内容

时间:2016-10-05 09:34:45

标签: powershell

我想在特定数量的字符上添加:文本文件,例如:

原始文本文件

ASDWEQRWEASDKLOEWQPEWQLJKEWQ
QWEKFKLWEJKJSDFJLKSADJAKLSJASDLAKJS
QWEJKLJSMCJSDJAIQEWJKLASDJA

在第二个和第十个位置(字符)添加内容:的输出文件

AS:DWEQRWEA:SDKLOEWQPEWQLJKEWQ
QW:EKFKLWEJ:KJSDFJLKSADJAKLSJASDLAKJS
QW:EJKLJSMC:JSDJAIQEWJKLASDJA

2 个答案:

答案 0 :(得分:1)

这将采用.txt文件并在{2}处插入:每行10个并将其输出到.txt文件。

Get-Content -Path C:\YourTextFile.txt `
    | ForEach-Object { $_.Insert(2,":").Insert(11,":") } `
    | Out-File -FilePath C:\YourOutPutFile.txt -Append

答案 1 :(得分:1)

使用正则表达式:

(Get-Content 'C:\path\to\input.txt') -replace '^(.{2})(.{8})', '$1:$2:' |
    Set-Content 'C:\path\to\output.txt'

^(.{2})(.{8})匹配字符串开头的前2个和后8个字符(^),并将它们分为两组,因此它们可以被引用为$1$2替换。