0
我正在寫一個scipt,它將接受它將完成這項工作的文件夾的參數。目的是計算平均評論數量並在文件名稱旁邊打印結果。我只寫了一個文件的腳本,它的工作原理沒問題,但我找不到任何解決方案在多個文件上執行它。我應該得到一個像這樣的輸出;Linux Bash腳本,用於計算多個文件的平均值
% ./averagereviews.sh path_to_folder
hotel_11212 3.51
hotel_2121 2.62
hotel_31212 2.43
...
我完成這個任務只有一個酒店和代碼是這樣的;
grep "<Overall>" $1 | sed 's/<Overall>//g'| awk '{SUM += $1} END {print SUM/NR}'
這只是搜索詞「」的文件中,並得到其旁邊的數字,然後將這些數字和劃分與NR的總和找到平均值。
當我運行它的輸出是給定的酒店
./averagereviews.sh hotel_190158.dat
4.00578
平均值,但我應該印刷酒店的名字這樣對多個.dat文件的文件夾。我怎樣才能做到這一點 ?
但我應該在文件夾之外實現它。例如,我現在位於我的home文件夾中,包含所有數據的文件夾位於data_folder中,而且我的腳本位於home文件夾中,與data_folder的級別相同。另外我的腳本應該將文件夾名稱作爲參數。因此,當我寫入./averagereviews.sh文件夾名稱時,應該爲該文件夾中的每個數據文件找到含義。 –
然後我想你有一個找到「數據文件」文件的方法。像「他們的名字是數據_ ###。txt」。我更新了我的答案,將您的意見納入考慮範圍。 – fzd
其實我不明白你怎麼可以cat data_files。它是一個目錄,所以它會給你錯誤提供一個目錄。也許是我的錯誤,我無法正確解釋。現在我在一個名爲work的文件中,我有我的腳本和一個名爲「data_files」的文件夾。當我運行我的腳本時,它應該獲取所有數據文件(例如dataFile1.dat),並使用數據文件中的信息取所有數據文件的平均值。平均值爲每個數據。 –