gpt4 book ai didi

powershell - 仅显示所需的列 PowerShell

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

我必须显示四列,但每次显示三列,因为空间问题不需要显示列引用。此代码允许显示不在列引用中的单元格。当单元格匹配时,其他列中的单元格消失。

文件:

  ComputerName  OtherComputerName   OtherComputer   AndAgain
infra-1 infra-852 infra-2 infra-99
infra-98 infra-85 infra-44 infra-23
infra-5 infra-8 infra-1 infra-10
infra-2 infra-55 infra-8 infra-70
infra-62 infra-5 infra-852 infra-5

脚本:

$csv = Import-Csv .\test1.csv -Delimiter ';'

$ref = @($csv.ComputerName)
foreach ($row in $csv) {
foreach ($col in 'OtherComputerName', 'OtherComputer', 'AndAgain') {
if ($ref -contains $row.$col) { $row.$col = '' }
}
}

$csv

PS 上的结果:我不想显示 ComputerName 列并取消单元格之间的空间。

OtherComputerName OtherComputer AndAgain
----------------- ------------- --------
infra-852 infra-99
infra-85 infra-44 infra-23
infra-8 infra-10
infra-55 infra-8 infra-70
infra-852

预期结果:

OtherComputerName OtherComputer AndAgain
----------------- ------------- --------
infra-852 infra-44 infra-99
infra-85 infra-8 infra-23
infra-8 infra-852 infra-10
infra-55 infra-70

最佳答案

您可以列出要包含的所有列/属性

$csv | Select-Object OtherComputerName,OtherComputer,AndAgain

或使用 -ExcludeProperty 删除命名的 - 但必须至少有一个 -Property(位置 0 不必写出,只需使用星号表示所有)

$csv | Select-Object * -ExcludeProperty ComputerName 

此处的示例输出完全符合您的要求:

OtherComputerName OtherComputer AndAgain
----------------- ------------- --------
infra-852 infra-99
infra-85 infra-44 infra-23
infra-8 infra-10
infra-55 infra-8 infra-70
infra-852

不是表格,而是一个缩小的列:

$csv|select Othercomputer|where Othercomputer -ne ''

示例输出:

OtherComputer
-------------
infra-44
infra-8
infra-852

关于powershell - 仅显示所需的列 PowerShell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44633430/

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