2013-09-23 19 views
1

我有一組10000個文本文件(file1.txt,file2.txt,... file10000.txt)。每個人都有不同數量的行。我想知道除了最後一行之外,這10000個文件中的平均行數。例如:10000個文本文件的平均行數

文件1:

a  
b  
c 
d  
last 

文件2:

a  
b  
c  
last  

文件2:

a  
b  
c 
d 
e  
last    

這裏我應該獲得4個作爲結果。我試着用python,但它需要太多的時間來閱讀所有的文件。我怎麼能用一個shell腳本來做?

+1

許多工具可以做到這一點,你嘗試過這麼遠嗎? – Kent

+0

來自http://stackoverflow.com/help/on-topic 詢問代碼的問題必須證明對所解決問題的最小理解。包括嘗試解決方案,爲什麼他們沒有工作,以及預期的結果。另請參閱:堆棧溢出問題清單。 – Vince

+0

正如我寫的,我用Python嘗試過。我不知道這是值得寫下我的代碼。無論如何與Python腳本(for循環...)我打開每個文件,以獲得行數,並獲得平均最終數量。但是,正如我寫的,它需要很長時間才能應用於10000個文件! –

回答

0

這裏有一種方法:

touch file{1..3}.txt 

文件1有1號線,2檔兩行等等...

$ for i in {1..3}; do wc -l file${i}.txt; done | awk '{sum+=$1}END{print sum/NR}' 
2 
+0

它按照你的建議工作!我只需要從sum + = $ 1中減去一個,因爲我不想考慮最後一行。 –