我有一个文字,例如:
cd123aaq54
我想在另一个文件中只分隔数字,所以我可以
12354
在输出中。
我一直在尝试很多像
这样的命令Get-Content text.txt | Select-String -Pattern '[0-9]'
在linux中它更容易,只是
grep -o '[0-9][0-9]*' text >numbers
答案 0 :(得分:2)
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-Object
并执行-replace
操作有:
Get-Content text.txt |ForEach-Object {$_ -replace '\D',''} |Set-Content C:\output.txt