我試圖創建一個bash腳本來計算文本文件的行和列的平均值和中值。我有平均和中值工作的功能,但是我想格式化行的輸出(列格式很好)。如何在兩列中的每一列旁邊顯示兩個函數旁邊的輸出 - Bash腳本
這就是我想要的:
Averages: Medians:
1 1
5 5
7 7
5 6
3 3
6 6
但是我的代碼輸出目前沒有這樣的:
Averages: Medians:
1
5
7
5
3
6
1
5
7
6
3
6
我目前擁有的代碼是:
if [[ $1 == -r* ]]
then
echo "Averages: Medians"
avg_nums $INPUT_FILE #calls average function on the file
find_median $INPUT_FILE #calls median function
elif...
#block of code for columns which works correctly.
fi
另一件事我我試過了,我的老師建議,將平均值和中位值存入一個臨時變量,然後打印當我準備好時,將它們放在一起。它也沒有工作。我所做的,這是:
#average function
tempAvg+="$avg" #append the new value of average to a global var
.
.
#median function
tempMed+="${arr[$medIndex]}" #append the new value of median to a global var
,然後調用它下面
if [[ $1 == -r* ]]
then
echo "Averages: Medians"
printf "%s\t%s\n" "$tempAvg" "$tempMed"
elif...
#block of code for columns which works correctly.
fi
賦予的輸出:
Averages: Medians:
157536 157636
所以,很顯然沒有什麼我都試過了工作。我對bash腳本也很陌生,只是你知道。有沒有人有任何建議如何讓這個工作?我是否以這種錯誤的方式去做?謝謝。
編輯:我的輸入文件如下(由製表符分隔)
1 1 1 1 1
9 3 4 5 5
6 7 8 9 7
3 6 8 9 7
3 4 2 1 4
6 4 4 7 7
你的輸入文件是什麼樣的? – JRD