从文档中提取数据

2023-12-20

我有一个文本文件,其中的数据如下:

07:30 - 07:45PMTS09526052 | Sev9 | Location| | Due: 12/23/2016
NON PC HARDWARE - TROUBLESHOOT SW
Complete this Job

这些行将在整个文档中多次出现,并有一些变化,例如第一行字母“PMT”后面的字母数字字符。

我需要找到一种方法,以便每当它找到“PMT”时,它就会提取该符号以及接下来的 9 个符号,将其放入 CSV 中,然后将“完成此作业”行放在 CSV 的下一个位置。

我知道我需要将模式设置为PMT[ST][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9] (where $WLDir是文件名。):

Select-String $WLDir -pattern “PMT[ST][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]”

我不知道下一步该做什么来隔离该部分和第 2 行,并将它们设置为 CSV 中的单元格数据。有人可以帮忙吗?我很抱歉,因为看起来我没有在这里完成我的作业,但我一直在尝试使用上一个问题 http://stackoverflow.com/questions/18712397/powershell-search-data-in-txt-files-to-export-into-csv还有一些有的嘿嘿!脚本专家! https://technet.microsoft.com/en-us/library/ee692806.aspx作为参考,但我只是卡住了。


不是 100% 确定结果应该是什么样子,但我认为你想要一个带有Time, Topic and Status column:

Select-String $WLDir -pattern '(PMT[ST]\d{8})' -Context 0,2 | ForEach-Object {
    [PSCustomObject]@{
        Time = $_.Matches.Groups[1].Value
        Topic = $_.Context.PostContext[0]
        Status = $_.Context.PostContext[1]
    }
} | ConvertTo-Csv -NoTypeInformation

这将输出:

"Time","Topic","Status"
"PMTS09526052","NON PC HARDWARE - TROUBLESHOOT SW","Complete this Job"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从文档中提取数据 的相关文章

随机推荐