ソートコマンドが期待どおりに機能しません。

ソートコマンドが期待どおりに機能しません。

次のデータセットがあります。

[email protected],2009-11-27

[email protected],2009-11-27

[email protected],2009-11-27

列2の同じ項目をすべて削除するコマンドを実行するとき

sort -t ',' -k2 stars.txt -u

column1のエントリを削除しています。

列2の重複した項目を削除するには、-k3フラグを入力する必要があります。

sort -t ',' -k3 stars.txt -u

なぜこれが起こるのかを説明できる人はいますか?列を削除するには、ファイルの列に+1を入力する必要があるのはなぜですか?

ベストアンサー1

私はこのテストをしてみました

$ cat tfile
[email protected],2009-11-26
[email protected],2009-11-27
[email protected],2009-11-28
[email protected],2009-11-29
[email protected],2009-11-27

k2アライメントが機能します!

$ sort -t ',' -k2 tfile 
[email protected],2009-11-26
[email protected],2009-11-27
[email protected],2009-11-27
[email protected],2009-11-28
[email protected],2009-11-29

ユニークな作品にk2を分類してみてください!

$ sort -t ',' -k2 tfile -u
[email protected],2009-11-26
[email protected],2009-11-27
[email protected],2009-11-28
[email protected],2009-11-29

一種の不良キー - 最初の行だけを印刷します。

$ sort -t ',' -k3 tfile -u
[email protected],2009-11-26
$ 

これらの結果が得られない場合は、その行に他のものが必要です。

おすすめ記事