複数の列に基づいてソートする方法は? [コピー]

複数の列に基づいてソートする方法は? [コピー]

タブ区切りのファイルがありますが、9列、14列、16列に基づいてソートしたいと思います。つまり、9列に一致するすべての行は14列に基づいてソートする必要があり、そのうち9列に一致する行も14列に基づいてソートする必要があるということです。 14列を16列に並べる必要があることに同意しました。 (すべての列は昇順でソートする必要がありますが、最初の2つの列はアルファベット順、残りの列は数字でソートする必要があります。)

gnuさまざまな形式の()を試しましたが、sort目的のソート順序を取得できませんでした。マニュアルページは役に立ちません。上記のソートを達成するための正しい注文を教えてくれる人はいますか?

ベストアンサー1

sort -t '\t' -k9,9 -k14,14 -k16,16n

(ソートキーの開始位置を指定する必要があることを覚えておいてください。そして彼らの終わり-k9、そうでなければ(代わりに使用すると、行の-k9,9末尾で終わるからです)。

おすすめ記事