2016-03-15 46 views
0

我有目录中的文件,我想知道这个文件在BASH.I平均数量在4个文件的文件夹,我想写一个代码,它会给我平均数这个目录中的文件。我发现一些常见的Unix find average file size,但这给了我平均文件大小,但我想获得此文件的平均数量或数量。Unix找到目录中的文件的平均数量

+0

你有一个目录(A)包含目录(B),所有的包含文件,你需要知道的平均数这些目录中的文件(B)? – andlrc

+2

请更具体的方法 – cmks

+0

我正在编写脚本,它将写入所有目录,最大目录的最大深度,最后我需要的是该目录中文件的平均数量/数量。但我不知道如何得到它。 –

回答

0

试试这个:

FILES=$(find . -type f | wc -l) 
DIRS=$(find . -type d | wc -l) 
AVG=$(($FILES/$DIRS)) 
echo $AVG 

注意这有精确到整数,即整数无小数。 拿到3位小数,使用该黑客(OK不告我):

AVG=$((1000 * $FILES/$DIRS)) 
echo $AVG | sed "s/\(...\)$/\.\1/" 
0

使用tree -F命令。它会做你需要的大部分工作。例如,

转到/dir1/dir2/lib/python3.4/venv python库目录并键入tree -F。然后,你会得到以下几行。以/结尾的是一个目录。你可以通过计算|的数量来计算子目录结构在线。

|-- __init__.py 
|-- __pycache__/ 
| |-- __init__.cpython-34.pyc 
| `-- __init__.cpython-34.pyo 
`-- futures/ 
    |-- __init__.py 
    |-- __pycache__/ 
    | |-- __init__.cpython-34.pyc 
    | |-- __init__.cpython-34.pyo 
    | |-- _base.cpython-34.pyc 
    | |-- _base.cpython-34.pyo 
    | |-- process.cpython-34.pyc 
    | |-- process.cpython-34.pyo 
    | |-- thread.cpython-34.pyc 
    | `-- thread.cpython-34.pyo 
    |-- _base.py 
    |-- process.py 
    `-- thread.py 

换句话说,大部分工作都是通过tree -F命令完成的。