在条件中删除匹配的字符串,PowerShell

时间:2018-11-23 19:02:41

标签: powershell csv parsing text-parsing

想法是导入一个csv,然后如果值“ infohostname”包含null或带空格,则删除整行

{% block javascripts %}
    {{ encore_entry_script_tags('app') }}
{% endblock %}

但是,不知道选中该行后如何删除行。

2 个答案:

答案 0 :(得分:1)

IMO,您只需要一个LineDescriptionId就不需要一个功能:

Where-Object

但是您当然可以将其包装在函数中
(但是没有传递参数和返回值的函数不是真正的函数)

答案 1 :(得分:0)

遍历结果并仅存储布尔评估为true的对象,然后创建一个新文件。为了删除现有文件的行,我相信您必须将其转换为XLS / X并作为COM对象进行访问

$results = @()
Function Last_NAS_Parse {

    $Import_IP = Import-Csv -Path C:\path\to\file.csv
    $Import_IP | ForEach-Object {
        if ( [string]::IsNullOrWhiteSpace($_.infohostname)) 
        {
            Out-Null
        }
        else
        {
            $results += $_
        }
    }
}

Last_NAS_Parse
$results | Export-CSV "C:\export\path\of\newfile.csv"