2013-09-23 17 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中减去一个,因为我不想考虑最后一行。 –