sort -nコマンドは、数字とテキストを含むファイルで何をソートする必要があるのか​​をどのように理解できますか?

sort -nコマンドは、数字とテキストを含むファイルで何をソートする必要があるのか​​をどのように理解できますか?

私は今このブログを読んでいます:https://www.baeldung.com/linux/dir-find-largest-file-recursively

私は次のコマンドを要求します。

find /usr/lib -type f -printf "%s\t%p\n" | sort -n | tail -1
92107656        /usr/lib/x86_64-linux-gnu/libwireshark.so.13.0.3

%s寸法とパスが印刷されます%p。しかし、sort -nパスではなくサイズで並べ替える必要があることをどのように知ることができますか?

おそらく愚かな質問かもしれませんが、とにかく尋ねます。

文書によると、https://man7.org/linux/man-pages/man1/sort.1.html

-n, --numeric-sort
compare according to string numerical value

ソートには文字列数値を使用します。最初の列を具体的に見なければならないことをどうやって知ることができますか?

ベストアンサー1

多くのオプションがsort線の比較方法に影響します。

これがどのように機能するかを説明しますinfo coreutils sort invocationsort

行ペアは次のように比較されます。各フィールドのペアは、差が見つかるかフィールドが残らなくなるまで、関連するソートオプションに従ってコマンドラインsort(参照)で指定された順序で比較されます。--keyキーフィールドを指定しない場合、sort 行全体の主キーが使用されます。

したがって、sort -n入力はキーフィールドが指定されていないため、行全体を比較して数値でソートされます(以下の説明を参照)。

-n
--numeric-sort
--sort=numeric

数値順に並べ替えます。各行の先頭にある数字オプションのスペース、オプションのシンボル、-千単位の区切り文字で区切ることができるゼロ個以上の数字、オプションで小数点文字、およびゼロ個以上の数字で構成されます。 NULL番号はこのように扱われます0。ロケールは、LC_NUMERIC小数点文字と千単位の区切り文字を指定します。デフォルトでは、スペースはスペースまたはタブ文字ですが、LC_CTYPE地域設定に応じて変更できます。

比較的正確です。丸めエラーはありません。

おすすめ記事