如何仅从“ du”获取文件夹大小?

时间:2018-08-06 20:21:53

标签: bash

我需要获取文件夹的大小以进行比较。但是我得到了带有路径的文件夹大小。如何只获取文件夹的大小?我在bash中使用以下命令:

size=`du -b --max-depth=0  ./main_folder/data`

输出:

12260550 ./main_folder/data

预期:

12260550

4 个答案:

答案 0 :(得分:2)

由于您尝试将大小存储在变量中,因此可以只取第一个值,而忽略其余值,如:

read size _ < <(du -b --max-depth=0 main_folder/data)

echo "size=$size"

答案 1 :(得分:0)

cut是用于对字符串进行此类操作的专用命令。

size=`du -b --max-depth=0  ./main_folder/data | cut -f1`

这里-f1的意思是“剪切第一个字段”(在管道输入的每一行上,但只有一行)。

答案 2 :(得分:0)

对我来说,最明智的答案是以下

In [40]: np.random.seed(0)
    ...: base_array = np.random.randint(-1000,1000,(10000))
    ...: comparison_array = np.random.randint(-1000,1000,(20000))

# @miradulo's soln
In [41]: %timeit np.sum(comparison_array[:, None] < base_array, axis=1)
1 loop, best of 3: 386 ms per loop

In [42]: %timeit get_comparative_sum(base_array, comparison_array)
100 loops, best of 3: 2.36 ms per loop

返回输出的第一个字。享受。

答案 3 :(得分:0)

du -s

-s或--summarize仅显示每个参数的总数

命令:

du -s tmimages | awk '{print $1;}'

输出:

6256092