Linuxでsortでソート
2494 ワード
sort:異なるデータ型に基づいてソートを実現でき、その文法と共通パラメータフォーマットは以下の通りである.
1 sortの動作原理
sortはファイルの各行を1単位として比較し,比較原則は先頭文字から後ろに,ASCIIコード値を順に比較し,最後に昇順に出力する.
2 sortの-uオプション
出力行で重複行を除去するのが簡単です.
pearは-uオプションで非情に削除された.
3 sortの-rオプション
4 sortの-oオプション
sortのデフォルトは標準出力に結果を出力するため、sort filename>newfileのような結果をファイルに書き込むにはリダイレクトが必要です.
ただし、ソート結果を元のファイルに出力したい場合は、リダイレクトで追加の方法を使用する必要があります.
numberが空になりました.だから私たちは-oオプションを使用する必要があります.それはこの問題を解決することに成功して、安心して結果を元のファイルに書き込むことができます.これも-o比リダイレクトの唯一の利点かもしれません.
5 sortの-tオプションと-kオプション
この書類は3列あり、列と列の間にはコロンで区切られており、1列目は果物のタイプ、2列目は果物の数、3列目は果物の価格を表しています.では、果物の数でソートしたいのですが、2列目でソートしたいのですが、sortをどのように利用して実現しますか?幸いなことに、sortは-tオプションを提供しており、後でインターバルを設定することができます.(cutとpasteの-dオプションを思い出したのか、共感~)
スペーサを指定すると、-kで列数を指定できます.スペーサとしてコロンを用い,2番目の列に対して数値昇順ソートを行い,満足のいく結果を得た.
6その他のsort共通オプション
-fは小文字を大文字に変換して比較します.つまり、大文字と小文字を無視します.
-cはファイルが順序付けされているかどうかをチェックし、順序が乱れている場合は、最初の順序付けされた行の関連情報を出力し、最後に1を返します.
-Cは、ファイルが順序付けされているかどうかをチェックします.順序が乱れている場合は、内容を出力せず、1だけ戻ります.
M-Mは月でソートされます.例えばJANがFEBより小さいなどです.
-bは、各行の前のすべての空白部分を無視し、最初の可視文字から比較します.
sort [-bcfMnrtk][ ][-o ]
:sort , 。
:
-b 。
-c 。
-f , 。
-M 3 。
-n 。
-o 。
-r 。
-t 。
-k 。
1 sortの動作原理
sortはファイルの各行を1単位として比較し,比較原則は先頭文字から後ろに,ASCIIコード値を順に比較し,最後に昇順に出力する.
[root@gitlab ~]$ cat seq.txt
banana
apple
pear
orange
pear
[root@gitlab ~]$ sort seq.txt
apple
banana
orange
pear
pear
2 sortの-uオプション
出力行で重複行を除去するのが簡単です.
[root@gitlab ~]$ sort -u seq.txt
apple
banana
orange
pear
pearは-uオプションで非情に削除された.
3 sortの-rオプション
[root@gitlab ~]$ cat number.txt
1
3
5
7
11
2
4
6
10
8
9
[root@gitlab ~]$ sort number.txt --sort
1
10
11
2
3
4
5
6
7
8
9
[root@gitlab ~]$ sort -n number.txt -- , 1 2, 1 , 10 2
1
2
3
4
5
6
7
8
9
10
11
[root@gitlab ~]$ sort -n -r number.txt --r ,n
11
10
9
8
7
6
5
4
3
2
1
4 sortの-oオプション
sortのデフォルトは標準出力に結果を出力するため、sort filename>newfileのような結果をファイルに書き込むにはリダイレクトが必要です.
ただし、ソート結果を元のファイルに出力したい場合は、リダイレクトで追加の方法を使用する必要があります.
[root@gitlab ~]$ sort -n -r number.txt > number.txt
[root@gitlab ~]$ cat number.txt
[root@gitlab ~]$
numberが空になりました.だから私たちは-oオプションを使用する必要があります.それはこの問題を解決することに成功して、安心して結果を元のファイルに書き込むことができます.これも-o比リダイレクトの唯一の利点かもしれません.
[root@gitlab ~]$ sort -n -r number.txt -o number.txt
[root@gitlab ~]$ cat number.txt
11
10
9
8
7
6
5
4
3
2
1
5 sortの-tオプションと-kオプション
[root@gitlab ~]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4
[root@gitlab ~]$ sort -n -k 2 -t : facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3
この書類は3列あり、列と列の間にはコロンで区切られており、1列目は果物のタイプ、2列目は果物の数、3列目は果物の価格を表しています.では、果物の数でソートしたいのですが、2列目でソートしたいのですが、sortをどのように利用して実現しますか?幸いなことに、sortは-tオプションを提供しており、後でインターバルを設定することができます.(cutとpasteの-dオプションを思い出したのか、共感~)
スペーサを指定すると、-kで列数を指定できます.スペーサとしてコロンを用い,2番目の列に対して数値昇順ソートを行い,満足のいく結果を得た.
6その他のsort共通オプション
-fは小文字を大文字に変換して比較します.つまり、大文字と小文字を無視します.
-cはファイルが順序付けされているかどうかをチェックし、順序が乱れている場合は、最初の順序付けされた行の関連情報を出力し、最後に1を返します.
-Cは、ファイルが順序付けされているかどうかをチェックします.順序が乱れている場合は、内容を出力せず、1だけ戻ります.
M-Mは月でソートされます.例えばJANがFEBより小さいなどです.
-bは、各行の前のすべての空白部分を無視し、最初の可視文字から比較します.