Powershell - 读取单个文本文件,并根据行内的文本将内容排序到多个文件

时间:2015-08-21 17:09:43

标签: sorting powershell lines

我正在寻找有关如何逐行读取文件的方向,然后根据搜索条件将该行复制到新创建的文件中。由于我的描述可能很差,我试图在下面说明:

Single Text File Sample:
Name=N0060093G
Name=N0060093H
Name=N400205PW
Name=N400205PX
Name=N966O85Q0
Name=N966O85Q1

脚本将读取每一行并使用"###"之后的"Name=N",在标识符"###"之后创建一个新文件名,以将每个相应的行复制到新文件中。因此,行"Name=N0060093G""Name=N0060093H"会转到“ 006 .txt”; "Name=N400205PW""Name=N400205PX"会写入“ 400 .txt”等。

1 个答案:

答案 0 :(得分:0)

RegEx风格方法:

$File = 'test.txt'
Get-Content $File | ForEach {
    If ($_ -match '^Name\=N(?<filename>\d{3}).*') {
        $_ | Out-File -Append "$($Matches.Filename).txt" -WhatIf
    }
}