gpt4 book ai didi

powershell - PowerShell:切片和切 block 选项卡定界文件

转载 作者:行者123 更新时间:2023-12-02 23:37:29 26 4
gpt4 key购买 nike

我的备份软件生成了一个制表符分隔的文本文件。我希望能够使用Import-CSV将其作为PowerShell数组导入。

问题在于,导出文件的前5行阻止PowerShell将其识别为数组:

#List of Media
#Cell Manager: hpdp.domain.local
#Creation Date: 11/08/2018 9:36:09 AM
# Headers
# Medium ID Label Location Status Protection Used [MB] Total [MB] Last Used Last Used_t Pool Type

我能够“修复”此问题的方法是使用记事本删除前四行,并从标题行中删除前#号。该文件如下所示:
Medium ID   Label   Location    Status  Protection  Used [MB]   Total [MB]  Last Used   Last Used_t Pool    Type
id1:id2:id3:id5 [hostname] labelname_31 [Library: 5] Good 13/08/2018 10:01:41 PM 762699.50 762699.50 14/07/2018 10:00:36 PM 1531828836 Tape Drive Pool LTO-Ultrium

我正在尝试找到一种使PowerShell进行更改的方法。例如,作为第一步,我尝试使用此行删除前四行:
(Get-Content $file | Select-Object -Skip 4) | Set-Content $file

该文件然后似乎失去其选项卡,因此不再被定界。

如何在不丢失选项卡的情况下删除行以及第一个#?提前致谢!

最佳答案

这可以通过这样的事情来完成

$data = Get-Content $file | Select-Object -Skip 4 
$data[0] = $data[0] -replace '^#\s*', ''

现在,如果您想覆盖文件,可以:
$data | Set-Content $file -Force

或直接将其用作Powershell中的对象(csv对象是PSObjects的数组)
$csv = ($data -join [environment]::NewLine) | ConvertFrom-Csv -Delimiter "`t"

或使用此转换后的对象再次写出文件
$csv | Export-Csv -Path $file -Delimiter "`t" -NoTypeInformation -Force

关于powershell - PowerShell:切片和切 block 选项卡定界文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51797887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com