Powershell 使用powerscript筛选大型日志文件

Powershell 使用powerscript筛选大型日志文件,powershell,Powershell,我正在尝试筛选一个大的日志文件。 有没有办法从日志中读取一行内容, 如果行包含少于2个字符,请使用power脚本从日志中删除整行 我想出了一种计算文件中字符数的方法 Get-Content ./output.txt | ForEach-Object { $_ | Measure-Object -Character } | Out-File count.txt 这会对每行进行计数,然后将计数的字符输出到另一个文件中 我知道如何删除空行 Get-Content .\output.txt

我正在尝试筛选一个大的日志文件。 有没有办法从日志中读取一行内容, 如果行包含少于2个字符,请使用power脚本从日志中删除整行

我想出了一种计算文件中字符数的方法

  Get-Content ./output.txt | ForEach-Object { $_ | Measure-Object -Character } | Out-File count.txt 
这会对每行进行计数,然后将计数的字符输出到另一个文件中

我知道如何删除空行

  Get-Content .\output.txt | where {$_ -ne ""} | Set-Content out.txt
或包含特定字符或字符串的行

  Get-Content .\in.txt | Where-Object {$_ -notmatch 'STRING'} | Set-Content out.txt
是否有一种方法可以通过管道输出并询问“计数是否为$”是否为[string]/,并且字符串具有可以告诉我们字符串长度的属性和方法

Get-Content .\output.txt | where {$_.Length -gt 1} | Set-Content out.txt
$\是一个[string]/字符串具有属性和方法,可以告诉我们字符串的长度

Get-Content .\output.txt | where {$_.Length -gt 1} | Set-Content out.txt

如果要使用正则表达式删除少于2个字符的行,可以执行以下操作:

Get-Content .\in.txt | ? { $_ -match '..' } | Set-Content .\out.txt

表达式
匹配至少包含2个字符的字符串(不包括换行符)。

如果要使用正则表达式删除少于2个字符的行,可以执行以下操作:

Get-Content .\in.txt | ? { $_ -match '..' } | Set-Content .\out.txt

表达式
匹配至少包含2个字符的字符串(不包括换行符).

Brilliant,它成功了。感谢加载。我不确定它是如何工作的或为什么工作的,但我会解决它。
Get Content
以行数组的形式返回文件的内容。正则表达式允许所有包含2个或更多字符的行传递并丢弃其余的行。Brilliant,它成功了。感谢加载。我不确定它是如何工作的或为什么工作的,但我不确定我将计算出
Get Content
以行数组的形式返回文件的内容。正则表达式允许所有包含2个或更多字符的行传递,并丢弃其余的行。感谢加载:),这很有意义