2017-05-22 4 views
0

私はtrを使ってスペース文字を改行文字に置き換えてからユニークな値を表示するために出力をuniqに渡していますが、出力が得られませんそれがユニークなので、「世界」という言葉だけが表示されないのはなぜですか?trスペースを改行で置き換えてuniqで一意の値を与えない

echo "hello world hello" | tr ' ' '\n' | uniq -u 

答えて

1

彼らは連続しある場合uniqフィルタは、重複を削除します。マンページでは、そのことについてきわめて明確である(私の強調):

フィルターINPUT(または標準入力)から隣接マッチングライン、OUTPUT(または標準出力)に書き込みます。

pax> echo "hello world hello" | tr ' ' '\n' | uniq -u 
hello 
world 
hello 

pax> echo "hello world hello" | tr ' ' '\n' | sort | uniq -u 
world 
:あなたはほぼ確実 uniqにそれを渡す前にデータをソートすることを意味します

関連する問題