2015-12-18 46 views
0

我确定这是非常容易的,但我是一个noob并试图学习PowerShell。PowerShell在写入x个标签后写入整数文件

我想写一个整数到制表符分隔文件的每一行,即每行有20个选项卡;在第n个标签后放一个1。

不需要覆盖已经存在的内容,因为在当前情况下没有任何内容。

谢谢!

回答

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列设置为​​。

$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