Linuxコマンドラインのuniq

2521 ワード

Uniq[オプション]ファイル
説明:このコマンドは入力ファイルを読み込み、隣接する行を比較します.通常、2番目以降の複数の重複行は削除され、行比較は使用する文字セットのソートシーケンスに基づいて行われます.このコマンドを加工した結果を出力ファイルに書きます.入力ファイルと出力ファイルは異なる必要があります.入力ファイルが「-」で表示されている場合は、標準入力から読み込みます.
このコマンドの各オプションの意味は次のとおりです.
�C c表示出力では、行ごとに本行がファイルに表示される回数を加算します.-uおよび-dオプションの代わりに使用できます.
Cdは重複行のみを表示します.
ファイルに重複しない行のみを表示します.
C nの前のn個のフィールドは、各フィールドの前の空白とともに無視される.1つのフィールドは、タブとスペースで区切られた非スペース、非タブの文字列です(フィールドは0から番号付けされます).
+nの前のn文字は無視され、前の文字はスキップされます(文字は0から番号付けされます).
C f nは-nと同じで、ここでnはフィールド数である.
C s nは+nと同じで、ここでnは文字数です.
次に、実践例を用いて説明します.
===========================================
[root@stu100 ~]# cat test
boy took bat home
boy took bat home
girl took bat home
boy took bat home
boy took bat home
dog brought hat home
dog brought hat home
dog brought hat home

testファイルの内容を見る
============================================
[root@stu100 ~]# uniq test
boy took bat home
girl took bat home
boy took bat home
dog brought hat home

Uniqコマンドはパラメータを追加せず、連続して繰り返される行のみを表示します.
============================================
[root@stu100 ~]# uniq -c test
2 boy took bat home
1 girl took bat home
2 boy took bat home
3 dog brought hat home
1

-cパラメータは、ファイル内の行ごとに連続して表示される回数を示します.
============================================
[root@stu100 ~]# cat test |sort | uniq -c
1
4 boy took bat home
3 dog brought hat home
1 girl took bat home

並べ替えてから表示
============================================
[root@stu100 ~]# uniq -d test
boy took bat home
boy took bat home
dog brought hat home

-dオプションは、ファイルに連続して繰り返される行のみを表示します.
============================================
[root@stu100 ~]# uniq -u test
girl took bat home

-uオプションは、ファイルに連続して表示されない行を表示します.
============================================
[root@stu100 ~]# uniq -f 2 -s 2 test
boy took bat home

各行の最初の2つのフィールドを無視し、2番目の空白文字と3番目のフィールドの最初の文字を無視し、結果at home
============================================
[root@stu100 ~]# uniq -f 1 test
boy took bat home
dog brought hat home

各ローの最初のフィールドは無視され、boy、girlの先頭のローは連続的に繰り返されるローのように見えます.
============================================
[root@stu100 ~]# uniq -D test
boy took bat home
boy took bat home
boy took bat home
boy took bat home
dog brought hat home
dog brought hat home
dog brought hat home

すべての重複行が表示され、各重複行が表示されます.