タイトルが混乱していないといいですね。一般小売業者、取引、および各取引後の残高に関する情報を含む毎日のレポートファイルがあります。例:
TransactionDate;retailerName;retailersBalance;retailersNewBalance;TrAmount;TaxAmount
2020-03-28 23:59:00;ret1;522305800;522300200;5040;560
2020-03-28 18:47:04;ret2;3166007400;3165997400;9000;1000
2020-03-28 16:43:10;ret1;522311400;522305800;5040;560;
小売業者は複数の取引を行うことができ、彼の残高(retailersNewBalance)は取引によって変わり続けます。各小売業者(retailersNewBalance)の最新の残高を印刷するレポートを生成するには、シェルスクリプトを使用する必要があります。このサンプルレポートにはret1が2回(23:59:00および16:43:10)存在します。追加情報を提供できますか?
予想生産量は、最後の(最も近い)小売店New Balanceで行わなければなりません。前任者:
Time Retailers Balance
================================
23:59:00 ret1 522300200
18:47:04 ret2 3165997400
ベストアンサー1
入力が日付でソートされると、最新のエントリが最初に表示されます。
awk 'BEGIN{FS=";"} FNR>1 && !nameseen[$2]++ {print $1, $2, $4}' file
- 「retailerName」列のフィールドが表示されない場合にのみレコードを印刷します。
いくつかの形式の例:
awk 'BEGIN {
FS=";"
printf "%9s\t%-20s\t%s\n", "Time", "Retailers", "Balance"
}
FNR>1 && !nameseen[$2]++ {
split($1,time," ")
printf "%9s\t%-20s\t%s\n", time[2], $2, $4
}' file