Unixシェル:逆方向のマルチレベルソート
最初の行にタグがあるプレーンテキストファイルでいっぱいのディレクトリがあり、タグとその頻度のリストを取得したいです。タグを抽出し、大きなリストに並べ替えました。このように見えるとしましょう: apple banana banana banana banana orange orange kumquat pomegranate pineapple pineapple pineapple 次に、パイプを使用してuniq -c、カウント付きのリストに変換します。 1 apple 4 banana 2 orange 1 kumquat 1 pomegranate 3 pineapple 私は今、逆の順序で番号で最初に、それをソートする(最大の番号が最初)、その後でみたい前方アルファベット順に。私はこれをパイピングすることを試みますsort -bnr(先頭の空白、数値ソート、逆順を無視します)が-r、文字部分にも適用されます: 4 banana 3 pineapple 2 orange 1 pomegranate 1 kumquat 1 apple -k複数のフィールドで並べ替えるオプションについて考えましたが、先日学びましたが、異なる-kオプションに個別に反転を適用することはできないようです(おそらく、単に出力を出力するだけtacなのでしょうか?)。sort前の並べ替えを無視し、数値部分を再び混同するため、1秒をパイピングしても機能しません。 理想的には、ソリューションはまだとを使用sortしuniqますが、必要に応じて別のツールに切り替えることもできます。ただし、これはスクリプトで終わる可能性があるため、対話型ツールを必要とするソリューションが出ています。