【问题标题】:Powershell - read separate sections of text filePowershell - 读取文本文件的单独部分
【发布时间】:2016-04-27 19:06:33
【问题描述】:

我有一个包含两个单独部分的文本文件(下面的示例)。我想编写一个 powershell cmdlet,它将为每个部分的机器做一些不同的事情。一如既往,谢谢!

[Templates]
Computer1
Computer2

[Parents]
Computer3
Computer4

【问题讨论】:

    标签: file parsing powershell text


    【解决方案1】:

    这是我过去使用过的东西。您可以根据自己的情况使用它

    $file = 'C:\temp\new 1.txt'
    $contents = Get-Content $file | Out-String
    $contents = [regex]::Split($contents, '\r\n\r\n')
    
    $contents | ? {$_} | sort | % {
        write-host this is a section
        write-host $_
    }
    

    【讨论】:

    • get-content 在回车换行时自动分割文件内容,生成一个数组,因此它通过管道输出到字符串,以便所有行都是单个字符串对象而不是字符串数组.然后我们将整个内容拆分为空行,这将是两个回车换行符,一个接一个(\r\n\r\n)所以现在我们有一个字符串数组,它们被分组到你的部分中'重新寻找。 ? {$_} 部分只是过滤掉它们之间有多个空行的空白部分,如果您不希望对您的部分进行排序,则可以删除排序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-20
    相关资源
    最近更新 更多