Unixでテキストファイルの出力形式を変更するには?
これらのテキストファイルを処理するには、Unixコマンドが必要です。
現在の出力:(ABC.txt)
Day Count
10 210
11 112
12 275
13 120
Day Count2
10 105
12 118
15 119
期待される出力: (XYZ.txt)
Day Count Count2
10 210 105
11 112 0
12 275 118
13 120 0
15 0 119
また、次の出力を得るためにCountとCount2の割合を計算するために使用できるunixコマンドは何ですか?
期待される出力: (XYZ1.txt)
Day Count Count2 Percentage
10 210 105 50%
11 112 0 0%
12 275 118 43%
13 120 0 0%
15 0 119 100%
ありがとう、
ベストアンサー1
私は小さなawk
スクリプトを作りました:
awk '
{
if ( $1 == "Day" )
c=$2;
else
v[$1][c]=$2;
next;
} END {
print "Day","Count","Count2","Percent";
for (day in v)
{
c1=(!(v[day]["Count"]) ? 0 : v[day]["Count"]);
c2=(!v[day]["Count2"] ? 0 : v[day]["Count2"]);
p=(c1>0 ? c2/c1*100 : 100);
printf("%s %s %s %.0f%%\n",day,c1,c2,p);
}
}
' ABC.txt | column -t
出力をファイルに送信するには、> XYZ1.txt
最後に追加します。