linuxファイルソートsort


sortコマンド
 
sortコマンドはLinuxで非常に役立ち、ファイルをソートし、ソート結果を標準出力します.sortコマンドは、特定のファイルからもstdinからも入力を取得できます.
構文
sort(  )(  )

オプション
-b:              ;
-c:              ;
-d:   ,      、        ,       ;
-f:   ,           ;
-i:   ,  040 176   ASCII   ,       ;
-m:             ;
-M:   3              ;
-n:         ;
-o<    >:              ;
-r:         ;
-t<    >:              ;
+<    >-<    >:         ,                 。

パラメータ
≪ファイル|File|emdw≫:ソートするファイルのリストを指定します.
≪インスタンス|Instance|emdw≫
sortはファイル/テキストの各行を1単位として比較し,比較原則は先頭文字から後ろに,ASCIIコード値を順次比較し,最後に昇順に出力する.
[root@mail text]# cat sort.txtaaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5
eee:50:5.5[root@mail text]# sort sort.txtaaa:10:1.1
bbb:20:2.2
ccc:30:3.3
ddd:40:4.4
eee:50:5.5
eee:50:5.5

同じ行を無視-uオプションまたはuniqを使用します.
[root@mail text]# cat sort.txtaaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5
eee:50:5.5[root@mail text]# sort -u sort.txtaaa:10:1.1
bbb:20:2.2
ccc:30:3.3
ddd:40:4.4
eee:50:5.5

  [root@mail text]# uniq sort.txtaaa:10:1.1
ccc:30:3.3
ddd:40:4.4
bbb:20:2.2
eee:50:5.5

sortの-n、-r、-k、-tオプションの使用:
[root@mail text]# cat sort.txtAAA:BB:CC
aaa:30:1.6
ccc:50:3.3
ddd:20:4.2
bbb:10:2.5
eee:40:5.4
eee:60:5.1

# BB             :[root@mail text]# sort -nk 2 -t: sort.txtAAA:BB:CC
bbb:10:2.5
ddd:20:4.2
aaa:30:1.6
eee:40:5.4
ccc:50:3.3
eee:60:5.1

# CC           :[root@mail text]# sort -nrk 3 -t: sort.txteee:40:5.4
eee:60:5.1
ddd:20:4.2
ccc:50:3.3
bbb:10:2.5
aaa:30:1.6
AAA:BB:CC

# -n         ,-r      ,-k           ,-t          

-kオプションの具体的な構文形式:
-kオプションの構文形式:
FStart.CStart Modifie,FEnd.CEnd Modifier
-------Start--------,-------End--------
 FStart.CStart     ,  FEnd.CEnd   

この構文フォーマットは、カンマ,によって、Start部分とEnd部分の2つの大部分に分けることができる.Start部分も3つの部分で構成されており、その中のModifier部分は私たちが前に言ったnとrのようなオプション部分です.Start部のFStartC.Startについて重点的にお話しします.C.Startも省略可能であり、省略すると本域の先頭部分から始まることを示す.FStart.CStartは、FStartが使用されるドメインを表し、CStartは、FStartドメインにおいて、いくつかの文字から「ソートヘッダ」を表す.同様に、Endセクションでは、FEnd.CEndを設定できます..CEndを省略すると、「ドメインの最後」、すなわち、このドメインの最後の文字に終わります.あるいは、CEndを0(ゼロ)に設定すると、「ドメインの末尾」に終わることを示します.
会社の英語名の2番目のアルファベットからソートします.
$ sort -t ' ' -k 1.2 facebook.txtbaidu 100 5000
sohu 100 4500
google 110 5000
guge 50 3000
-k 1.2を使用して、1番目のドメインの2番目の文字からこのドメインの最後の文字までの文字列をソートすることを示します.baiduは2番目のアルファベットがaで1位になったことに気づきます.sohuとgoogleの2番目の文字はoですが、sohuのhはgoogleのoの前にあるので、両者はそれぞれ2番目と3番目に並んでいます.gugeは4位に屈するしかない.
会社の英語名の2番目のアルファベットのみをソートします.同じ従業員給与で降順にソートする場合は、次のようにします.
$ sort -t ' ' -k 1.2,1.2 -nrk 3,3 facebook.txt
baidu 100 5000
google 110 5000
sohu 100 4500
guge 50 3000

2番目のアルファベットのみをソートするため、-k 1.2,1.2の表現を使用して、2番目のアルファベットのみをソートすることを表します.「-k 1.2を使っているのにどうしてだめなの?」と聞かれたら、もちろんだめです.End部分を省略しているので、2番目のアルファベットからドメインの最後の文字までの文字列をソートすることを意味します).従業員給与のソートについても-k 3,3を使用しました.これは最も正確な表現で、私たちが「本ドメインのみ」ソートしていることを示しています.後の3を省略すると、私たちが「3番目のドメインから最後のドメイン位置までの内容をソートする」ことになるからです.