2
我有一個文件名爲「標記」用指的是學生的名字,姓氏和類4標記線的平均他把這個學期的每一行是這樣的:awk中:打印每一行
John McJohn 56 68 31 99
Ronald McDonald 89 89 60 75
Boaty McBoatface 50 50 50 50
我嘗試創建一個awk腳本,每行打印每行(每個學生)的平均分數和他所在的行數。
f.e.
Student 1, John McJohn, 63,5
Student 2, Ronald McDonald, 78.25
等等。
我想出什麼樣的主意是:
{
for(i=0; i<FNR; i++)
{
avg=($3+$4+$5+$6)/4;
printf("Student %d, %s %s, %.2f\n", i, $1, $2, avg);
}
}
但是這個輸出是這似乎是一個笛卡爾積一團糟:
我懷疑有i<FNR
表達式令每個循環的線條都顯得有些不妥。
它應該怎麼樣?
我認爲你的意思是'%.2f',而不是$符號 – user2314737
你不必循環。 awk會爲你循環遍歷每一行。這樣的東西就足夠了:'awk'{print'Student'NR',',$ 1 $ 2「,」,($ 3 + $ 4 + $ 5 + $ 6)/ 4}'yourfile'。 –
@ user2314737這是一個錯字,我現在正在編輯它。 – Coursal