
ファイルに数字を追加して(1 行に 1 つずつ)、最も頻繁に発生する 10 個の数字を降順で出力しようとしています。これを 1 行で行うように求められましたが、そのためのシェル スクリプトの書き方がわかりません。
もう少し明確に言うと、1 行に 1 つの数字があるテキスト ファイルから、最も頻繁に発生する 10 個の数字を降順で出力しようとしています。そのためのシェル スクリプトを 1 行で記述する方法がわかりません。
調査したところ、パイプライン、つまりシェルでオペランドを使用する方法に出会いました|
。これは正しいアプローチでしょうか?
答え1
必要がある
- ファイルを数値順に並べ替える
- 各数字の出現回数を求めます(ヒント
uniq
) - 選別それ発生回数、数値、降順で出力
- 最初の10行を選択
- カウントを削除して、元の数字だけが残るようにします。
これらすべてをパイプラインで連結することができます。