0

次のような ID、人口、地域、州のリストがあります。

1:517000:405212:Newfoundland and Labrador
2:137900:5660:Prince Edward Island
3:751400:72908:New Brunswick
4:938134:55284:Nova Scotia
5:7560592:1542056:Quebec
6:12439755:1076359:Ontario
7:1170300:647797:Manitoba
8:996194:651036:Saskatchewan
9:3183312:661848:Alberta
10:4168123:944735:British Comumbia
11:42800:1346106:Northwest Territories
12:31200:482443:Yukon Territories
13:29300:2093190:Nunavut

人口密度が最も低い州と最も高い州の名前 (人口/面積) を表示する必要があります。列 1 を列 2 (小数点以下 2 桁) で分割し、どちらの側でもファイル情報をそのまま保持するにはどうすればよいですか (例: 1: 1.28 : ニューファンドランドとラブラドール)。sort -t: -nk2 | head -n 1その後、ポンピングしsort -t: -nrk2 | head -n 1て引っ張ることができると思います。

指定された推奨コマンドは grep でした。

4

1 に答える 1

0

あなたはソートと抽出を制御しているように見えるので、あなたのために働くはずの awk スクリプトの例を次に示します。

#!/usr/bin/env awk -f

BEGIN {
    FS=":"
    OFS=":"
    OFMT="%.2f"
}

{
    print $1,$2/$3,$4
}
于 2013-04-17T05:25:36.280 に答える