2017-09-08 7 views
0

これは私のリストです:表示1回の発生

Apple 
Apple 
Apple 
Pear 
Orange 
Pear 
Apple 
Apple 
Apple 
Apple 
Apple 
Pear 
Kiwi 
Kiwi 
Kiwi 

のみ4つの要素、単純な機能の意志がある場合はだから私の最終的なリストは、唯一それぞれの果実

Apple 
Orange 
Pear 
Kiwi 

の1回の発生を表示していました行う。しかし私は定期的にハードコードを変えてリストにある12個以上の要素を持っています。ビルトイン関数(cmdlet)またはリスト内の各要素の1つのオカレンスだけを表示するために実行できるその他のメソッドがありますか。だから、重複を取り除くだろう。あなたがGet-UniqueでソートされたリストまたはSelect-ObjectまたはSort-Object

事前ソートされたリストのようなコマンドレットの-UniqueパラメータにGet-Uniqueコマンドレットを使用することができます

おかげ

+1

これはどうでしょうか? https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-unique?view=powershell-5.1 –

+0

$ A = $(foreach($ Get-Content C:\ inline) Test1 \ File1.txt){$ line.tolower()。split( "")})|並べ替え| Get-Unique –

+0

PowerShellのバージョンに応じて、「Get-Unique」。一般的なアプローチ: '$ List | Select-Object -Unique' – TheIncorrigible1

答えて

2

$list = @('Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Kiwi', 'Kiwi', 'Kiwi', 'Orange', 'Pear', 'Pear', 'Pear') 
$list | Get-Unique 

Apple 
Kiwi 
Orange 
Pear 

Sort-Object -Uniqueを使用します:

$list = @('Apple', 'Apple', 'Apple', 'Pear', 'Orange', 'Pear', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Pear', 'Kiwi', 'Kiwi', 'Kiwi') 
$list | Sort-Object -Unique 

Apple 
Kiwi 
Orange 
Pear 

また、Group-Objectを使用し、各グループのNameプロパティを使用することもできます。このメソッドはソートを必要としないので、要素が最初に遭遇した順序でリストを保持します。

$list = @('Apple', 'Apple', 'Apple', 'Pear', 'Orange', 'Pear', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Pear', 'Kiwi', 'Kiwi', 'Kiwi') 
($list | Group-Object).name 

Apple 
Pear 
Orange 
Kiwi 
+0

'Get-Unique'はソートされたリストを必要とします – TheIncorrigible1

0

同じ順序で必要ですか?

あなたがこれを行うために使用することができます* nixのコマンドユーティリティがあります。

type mylist.txt | sort | uniq 

彼らはすでにLinuxまたはいないため、Windowsのサブシステムの一部である場合、私は知りません。しかし、私はあなたがオンラインでWindows版を見つけることができることを知っている。

関連する問題