以下の例では、「sort -nu」が1つの一意の行のみを返す理由を説明できる人はいますか?
$ cat /tmp/test_
1e971713-31e4-62d0-a3d1-37c0610c10e5
1e97d59f-bc32-6126-b7b1-0b52ddd35273
1e971713-31e4-62d0-a3d1-37c0610c10e5
$ sort -nu /tmp/test_
1e971713-31e4-62d0-a3d1-37c0610c10e5
$
"sort -u"のように、出力に2つの一意の行を含める必要はありませんか?
$ sort -u /tmp/test_
1e971713-31e4-62d0-a3d1-37c0610c10e5
1e97d59f-bc32-6126-b7b1-0b52ddd35273
$
答え1
@Kusalananda そうなんですね。
https://www.gnu.org/software/coreutils/manual/html_node/sort-inspiration.html
コマンド
sort -u
とsort | uniq
は同じですが、この同一性は任意のソートオプションには拡張されません。たとえば、一意性を確認すると、行全体でsort -n -u
はなく最初の数値文字列の値のみが検証されます。sort -n | uniq
数値文字列は、そのため1
最初の行だけを取得します。