У меня есть много текстовых файлов, содержащих расширенные символы ascii. Я хотел бы построить дедупликацией список этих символов, например:Хранить дедуплицированный список символов, отличных от ascii, в массиве
á
ö
¿
Я могу читать файлы и вырезать основные символы ASCII. Однако, поскольку я новичок в Powershell, как я могу разбить каждую строку на символы, сравнить их с существующим списком найденных символов и вывести дедуплицированный список несущественных символов ascii?
$files = Get-ChildItem "C:\Users\me\Desktop\ascii" -filter "*.txt"
Foreach ($file in $files) {
$newfile = @()
Get-Content $file.fullname | Foreach-Object {
$newfile += [string]([char[]]$_ | where-object {[int]$_ -lt 127})
}
Write-Host $newfile
}
[править 1] Как добраться ...
$files = Get-ChildItem "C:\Users\me\Desktop\ascii" -filter "*.txt"
$array = @()
Foreach ($file in $files) {
Get-Content $file.fullname | Foreach-Object {
$line = [string]([char[]]$_ | where-object {[int]$_ -lt 127}) -split '\s+' | Foreach {
If ($array -notcontains $_) {
$array.Add($_)
}
}
}
}
[редактировать 2] Этот ^^^ работает в PS 4, но не в 2 (который у меня на сервере)? Любая помощь в написании версии совместимой с PS2?
[править 3] Я обнаружил, что использование $array = @()
отлично работает на V2 и V4 :-)
У меня есть только V2 доступный :-(увидеть мой 2-ой редактирование ... – Pr0no