3

これは宿題で、ここで少し困惑しています。目的は次のとおりです。

小テストの点数を含む grades というファイルを作成します。ファイルは、1 行に 1 つのクイズ スコアのみが含まれるように作成する必要があります。ファイルの成績を表すパラメーターを受け入れ、クイズで受け取った最小および最大スコアを決定する minMax というスクリプトを作成します。スクリプトは次の形式で出力を表示する必要があります。クイズの最高得点は # です。クイズの最低点は # です。

これを達成するために私が行ったことは、最初に成績を並べ替えて順番に並べることです。次に、次のようなコマンドでパイプしようとしました。

sort grades |awk 'NR==1;END{print}' grades

完了したときに得られる出力は、ファイルの最初と最後のエントリですが、ソートされていないため、最初と最後のエントリを選択して印刷する方法がわかりません。$1 と $2 ですか?

どんな助けでも大歓迎です。

4

2 に答える 2

0
sort -n grades | sed -n '1s/.*/Lowest: &/p;$s/.*/Highest: &/p;' 
Lowest: 2
Highest: 19

数字でソートしたい場合はsort -nが必要です。sed を使用すると、1 つのパスで処理できます。

複数の Sed コマンドは ; で連結されます。1 と $ は最初と最後の行を意味します。& は、読み取り式/行全体です。p は結果を出力します。-n は -no 印刷一般です。

于 2013-11-20T03:32:00.557 に答える
0

あなたは頭と尾を使うことができます

頭が先になる

尾は最後になります

于 2013-11-20T03:25:08.590 に答える