Powershell 仅过滤输出中的数字(0-9)

Powershell 仅过滤输出中的数字(0-9),powershell,filter,numbers,Powershell,Filter,Numbers,我有一个文本,例如: cd123aaq54 在linux中更容易,只是 grep -o '[0-9][0-9]*' text >numbers PowerShell中最简单的方法可能是替换所有非数字: @(Get-Content text.txt) -replace '\D','' 您可以使用Out File或Set Contentcmdlet将结果输出到文件: @(Get-Content text.txt) -replace '\D','' |Out-File C:\output.t

我有一个文本,例如:

cd123aaq54 在linux中更容易,只是

grep -o '[0-9][0-9]*' text >numbers

PowerShell中最简单的方法可能是替换所有非数字:

@(Get-Content text.txt) -replace '\D',''
您可以使用
Out File
Set Content
cmdlet将结果输出到文件:

@(Get-Content text.txt) -replace '\D','' |Out-File C:\output.txt
如果文本文件中有许多行,您可能希望利用PowerShell的pipiline特性,将
Get Content
的输出直接传输到
ForEach对象
,并在其中执行
-replace
操作:

Get-Content text.txt |ForEach-Object {$_ -replace '\D',''} |Set-Content C:\output.txt

PowerShell中最简单的方法可能是替换所有非数字:

@(Get-Content text.txt) -replace '\D',''
您可以使用
Out File
Set Content
cmdlet将结果输出到文件:

@(Get-Content text.txt) -replace '\D','' |Out-File C:\output.txt
如果文本文件中有许多行,您可能希望利用PowerShell的pipiline特性,将
Get Content
的输出直接传输到
ForEach对象
,并在其中执行
-replace
操作:

Get-Content text.txt |ForEach-Object {$_ -replace '\D',''} |Set-Content C:\output.txt

哦,我的天啊,萨克斯!但另一个问题。。。文档中有一些逗号,(,)我如何保存它们?我的意思是,它们是价格,例如150,36使用字符类减法:
-再次替换“[\D-[,]]”,“
你好!我发现powershell太慢了(脚本完成起来太慢了,我想把它放在一个循环中。)我想知道你是否知道在classic cmd中,而不是在powershell中实现它的另一种方法。再次感谢@CarlosAlbertoLizanaHidalgo
text.txt
文件有很多行吗?编辑:只有1行。很抱歉它必须读取一个text.txt,然后创建另一个只包含数字的文本。我太感激了。哦,我的天啊,萨克斯!但另一个问题。。。文档中有一些逗号,(,)我如何保存它们?我的意思是,它们是价格,例如150,36使用字符类减法:
-再次替换“[\D-[,]]”,“
你好!我发现powershell太慢了(脚本完成起来太慢了,我想把它放在一个循环中。)我想知道你是否知道在classic cmd中,而不是在powershell中实现它的另一种方法。再次感谢@CarlosAlbertoLizanaHidalgo
text.txt
文件有很多行吗?编辑:只有1行。很抱歉它必须读取一个text.txt,然后创建另一个只包含数字的文本。我非常感激。