我确定这很容易,但我是一个菜鸟,并试图学习PowerShell。
我想在制表符分隔文件的每一行写一个整数,即每行有20个制表符;在第n个标签后放一个。
无需覆盖已经存在的内容,因为在当前情况下没有任何内容。
谢谢!
答案 0 :(得分:0)
如果有标题行,则只需将文件作为CSV导入,通过ForEach-Object
循环运行并将该列设置为所需的整数,然后再次导出CSV。
Import-CSV $File -Delimiter "`t" | ForEach{$_.ColumnName = $Integer} | Export-CSV $File -Delimiter "`t" -NoTypeInfo
如果没有标题,您可以执行相同的操作并定义自己的标题。除非您使用ConvertTo-CSV
而不是Export-CSV
,然后使用Select
跳过标题行,并使用Set-Content
来编写文件。对于我的示例,我将第7列设置为$Integer
。
$Headers = 1..20|ForEach{"Col$_"}
Import-CSV $File -Delimiter "`t" -Header $Headers | ForEach{$_.Col7 = $Integer} | ConvertTo-CSV -Delimiter "`t" -NoTypeInfo | Select -Skip 1 | Set-Content $File