分析するテーブル形式の巨大なデータ ファイルがあります。主に 2 つの列に興味があります。1 つは英数字の名前を含み (1 列目)、もう 1 つはパーセンテージ数を含みます (3 列目)。
私の要件は、列 #3 の値に基づいてデータを逆に並べ替え、いくつかのしきい値 (>10.0) を適用し、列 #1 と列 #3 でこの基準を満たす目的の行のみを並べ替え順に表示することです。
perl
通常、私はそのような要件を達成するために小さなスクリプトを書きます。しかし、ここでは、迅速かつ効率的な方法で解決するための一連の Linux コマンド (1 つのライナー) を探しています。
サンプル入力
abc12 24.5 90.0 5
xyz23 454.23 23.5 2
aa34cd 1.345 12.34 6
uvxy 4.25 54.7 1
pqr3t 235.3 6.05 4
abcd 1.234 4.56 3
望ましい出力
abc12 90.0
uvxy 54.7
xyz23 23.5
aa34cd 12.34
この問題の解決を手伝っていただければ幸いです。
私が試したことは何ですか?
次のコマンドを使用して、列 #3 で並べ替えを逆にすることができました。次はわからない!
awk '{print $3}' test.txt | sort -rn