【发布时间】:2015-10-02 21:50:14
【问题描述】:
我有一个包含 10k+ 行的制表符分隔文件。我需要将第一个(标题)记录的特定字段更改为特定值.. 我正在使用以下脚本,但它弄乱了格式。
$contents = Get-Content $PATH -Delimiter "`t"
$contents[1] = 'Replaced Text'
$contents | Out-File $PATH
我可以看到格式会混乱,但我不确定如何保持文件原样,只是更改我需要的内容。 另外,我想知道是否有一种有效的方法。因为我只关心文件的第一行。
我尝试了一种不同的方法,它“正常”,但在每行之后引入了额外的空白行:
$content = Get-Content $PATH -Delimiter "`n"
$content |
ForEach-Object {
if ($_.ReadCount -le 1) {
$_ -replace 'A','B'
} else {
$_
}
} |
Set-Content $PATH
【问题讨论】:
-
标题是第一行是吗?你要换的那条线呢。 A->B 还是替换整个标题?也不确定你的意思 我可以看到格式会混乱,
标签: powershell