我是PowerShell的新手,并且正则表达式的处理方式似乎有些不同。目前正在迭代大量的txt文件,并希望每个文件的开头(这是一个URL)直到|字符。
每个文件的开头都是以斜杠结尾的网址。这是我没有运气的第十次尝试:
$FirstUrl = '.*/\|$'
推进For-Each循环,我试图抓住的所有其他信息都按预期出现:
Foreach-Object {
$FileContent = Get-Content $_.FullName
$Pos = Select-String -InputObject $FileContent -Pattern $FirstURL
有关如何在$ FirstURL中对正则表达式进行短语的任何提示。我对正则表达式一般都很“好”,并试图找到适合PowerShell的文档。
答案 0 :(得分:0)
如果每个文件在第一行中都有 URL ,之后有一个Pipe,那么在这种情况下你不需要使用正则表达式。您可以直接将其拆分为:
$FileContent = Get-Content $_.FullName
$FileContent.Split('|')[0]
Split实际上将结果数据拆分为一个数组。然后第一个数组元素将在'0th'索引中,你可以把它取出来。
希望它有所帮助。