Shellスクリプトの重量除去のいくつかの方法の例

1414 ワード

テストファイル
 
  
[root@bogon ~]# cat >test
jason
jason
jason
fffff
jason

Ctr+Dで保存
1、sort -u
 
  
[root@bogon ~]# sort -u test
fffff
jason

2、uniq
 
  
[root@bogon ~]# uniq test
jason
fffff
jason

このようにuniqは並べ替えてから重くする必要がある.
3、sort、パイプとuniqを組み合わせて重複を除去し、重複したデータを保持する
 
  
[root@bogon ~]# sort test|uniq
fffff
jason

重複するすべてのローを除去し(重複するローは保持されません)、ローの数を計算します.
 
  
[root@bogon ~]# sort test|uniq -uc
      1 fffff

重複するすべてのローを特定し、ローの数を計算します.
 
  
[root@bogon ~]# sort test|uniq -dc
      4 jason

フィールドに基づいてリロード
既存のデータを
 
  
[root@bogon ~]# more test
jason 1
jason 2
jason 1
fffff 2
jason 3
[root@bogon ~]# sort -k 1,1 -u test
fffff 2
jason 1

man sortはsortの使い方を表示します.-kパラメータは次のように記述されています.
 
  
    -k, --key=POS1[,POS2]
    start a key at POS1 (origin 1), end it at POS2 (default end of line)

つまり-kのどの列を並べ替えて、pos 1は開始列で、pos 2は終了列です