我想从构建服务器中清除日志文件,保留最近几天。我的进程创建的日志文件没有问题。这工作正常:
$logFolders = Get-ChildItem $buildBase -Recurse -include logs -Attributes D
$logFolders | ForEach-Object { Get-ChildItem $_.fullname -filter *.log | where >{$_.lastwritetime -lt (get-date).adddays(-$purgeAfter) -and -not $_.psiscontainer} |% {remove-item $_.fullname -force} };
Run Code Online (Sandbox Code Playgroud)
但是,构建工具生成的日志如下所示:
lrFR_WebHelp - Friday, February 28, 2014 [9.00 PM].mclog
Run Code Online (Sandbox Code Playgroud)
Get-ChildItem $frReports\Reports -filter *.mclog | where {$_.lastwritetime -lt (get-date).adddays(-$purgeAfter) -and -not $_.psiscontainer}| % {write-host ("'" + $frReports + '\Reports' + '\' + $_ + "'") }
Run Code Online (Sandbox Code Playgroud)
输出:
'D:\scratch\Reports\lrFR_WebHelp - Friday, February 28, 2014 [9.00 PM].mclog'
Run Code Online (Sandbox Code Playgroud)
但试图删除:
Get-ChildItem $frReports\Reports -filter …Run Code Online (Sandbox Code Playgroud) 使用Notepad ++,技术作家部门需要<span class..>xxx</span> 从这样的文本中删除标记:
`<span class="temp">See</span> Problems pane <span class="temp">for more <b>information</b>.</span>`
Run Code Online (Sandbox Code Playgroud)
(澄清:)期望的结果是没有span标签的元素的内部文本.以上示例的输出将是:
`See Problems pane for more <b>information</b>.`
Run Code Online (Sandbox Code Playgroud)
我认为我需要的是这样的:
查找:<span..>(capture anything except "</span>")</span>
替换:\1
([^<])*由于span中的其他标记,我不能将其用作捕获组,如<b>示例中所示.
我不能使用,<span class=\"temp\">(.*)</span>因为在一条线上可能有两个这样的.
我已经尝试使用非贪婪语法关闭整个标记,并使用我在其他帖子中找到的示例计算{1}语法,但我无法使其工作.
我已经找到了几个关于否定表达式的帖子,但是无法让它们处理捕获组中的否定HTML标记.我的确切问题有一篇文章,但是在PHP而不是Notepad ++中.
我将不胜感激任何建议.