ソート
機能:ソートするテキストファイルの内容を、テキストファイルの内容のソート缶は、単位でオーダー。
ソート[ - bcdfimMnr ] [ - O <出力ファイル>] [ - T <区切り文字>] [+ <開始列> - <終了フィールド>] [ - ヘルプ] [ - のverison ] [ファイル]
各ラインの開始前に空白文字を無視-b。
ファイルが順にソートされているかどうかをチェックし、-C。
ソートすると-d、文字、数字、スペース文字を処理し、それ以外の文字を無視します。
-Fとき順序、大文字小文字など。
-Iときの順序は、040から176の間でASCII文字に加えて、他の文字を無視します。
複数のファイルをマージする-mソート。
-M最初の3文字の略語は、月によってソートすること。
-n 大きさは数値でソート。
-o <出力ファイル>結果は指定したファイルに分類しました。
-r 逆順ソート。
-tフィールド時に<区切り文字>を指定し、ソート使用される区切り文字。
-kソートにどのセクションを選択
+ <開始列> - <終了フィールド>ソートに指定されたフィールド、前のフィールドのフィールドの開始から終了までのフィールドの範囲。
ソート互いにユニットとして、ファイルの各行の比較の原理は、背面からの最初の文字と比較されるASCIIコード値が続き、そして昇順に最終的にそれらの出力。
ソース・ファイル | デフォルトのソート | 李のために | 李のために | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
-u出力ラインに重複する行を削除します。
|
各ラインの開始前に空白文字を無視-b。
|
||||||||||||
-o出力元のファイルへのソート結果 使用のリダイレクト: ソートのtest.txt> test.txtの后 test.txtは空です ソートtest.txtの-oあるtest.txt 猫のtest.txt
|
-tフィールド時に<区切り文字>を指定し、ソート使用される区切り文字。 -kソートにどのセクションを選択
date.txt猫
ソート-n -k 2 -t'-」date.txt
|
-n 大きさは数値でソート。 ソート-nのtest.txt
数字のデフォルトのソート文字列は、ケースに応じてソートされます だから、10のケース2は、表示されます。この状況は、-nを使用して回避することができます |
|||||||||||||
書類が順番にソートされているかどうかを確認するために、-C ソート-cソートされたファイル、ノーリターン情報は、エコー$?0 ソート-cソートされていないファイルは、そこにヒントが、あるエコー$?1 |
-r ソートの逆順 猫のtest.txt
ソート-n -r test.txtの
|
UNIQ
[-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]
-u或--unique 只保留出现唯一一次的行列。
-d或--repeated 仅显示重复出现的行列,出现一次的行列不会显示
-c 在每列旁边显示该行重复出现的次数。
-f n 或--skip-fields=n 忽略前N个字段。字段由空白字符(空格符、Tab)分隔
-s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。-s n:忽略前n个字符,从n+1个字符开始比较
-w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。-w n:只比较前n个字符,对每行第n个字符以后的内容不作对照
-i, --ignore-
case
在比较的时候不区分大小写
[输入文件] 指定已排序好的文本文件。如果不指定此项,则从标准读取数据;
[输出文件] 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。
uniq 是对排序好的内容去重当重复的行并不相邻时,uniq 命令是不起作用的,所以需要先使用sort排序,在使用uniq去重
举栗:
原文件 | 默认去重
|
仅显示出现一次的行 -u | |||
---|---|---|---|---|---|
|
uniq -c test_uniq.txt
|
uniq -u -c test_uniq.txt
不显示出现多次的行 |
|||
仅显示重复出现的行 -d | 比较的时候不区分大小写 -i | ||||
uniq -d -c test_uniq.txt
不显示只出现一次的行 |
uniq -i -c test_uniq.txt
不区分大小写,所以有三行进行的合并 |
||||
比较时忽略前n个字段,从n+1列开始比较 -f n | 比较时忽略前n个字符,从n+1个字符开始比较 -s n | ||||
uniq -c -f 3 test_uniq.txt
忽略前2个字段时,前2个字段中的字符以及空格不同都不会有影响,但是第2个字段之后的空格与字符变化会影响去重效果 |
uniq -c -s 1 test_uniq.txt
忽略前1个字符, d winxp 500 300 3G跟g winxp 500 300 3G会被认为是一样的 |
||||
只比较前n个字符,对每行第n个字符以后的内容不作对照 -w n | 指定输出文件 | ||||
uniq -c -w 1 test_uniq.txt
|
uniq -c test_uniq.txt out.txt cat out.txt
默认去重,将去重结果保存到out.txt |