我正在尝试找到最好的方法来获取一个目录及其子目录中所有文件所使用的空间。有很多像这样的帖子:Calculating a directory's size using Python? 但是,在该线程中推荐的递归文件计数方法和linux du -sh命令给出的结果大相径庭。在只有两个文件的同一目录上,如果我使用任何方法单独计算文件大小,则会得到: 864字节 使用linux du -hs命令,我得到了12K字节! 这是一个巨大的差异,有人知道为什么吗?
我希望获得AIX中csv文件的文件大小,并使用下面的X和调用系统命令来完成。问题是,我无法在宏变量中获得“文件大小”,我将在程序后面使用该变量。
data _null_;
call system('du -g p_bhj_c_hh100uk01po1.csv');
call symput('space','X du -g p_bhj_c_hh100uk01po1.csv');
%put &space;
run;
WARNING: Apparent symbolic reference SPACE not re
当我使用ls -l检查文件大小时,"file“的大小显示为15 ls。
ls -l
total 16
-rw-r--r-- 1 root root 15393162788865 May 30 13:41 file
当我使用du命令检查"file“的大小时,它显示了以下内容。
du -a file
12 file
在进行了一些搜索之后,我得出结论,该文件可能是一个稀疏文件。命令,如,尾巴,猫,六转储等花费永远当我读它。
这是文件的输出。
filefrag -e file
Filesystem type is: ef53
File size of file is 153931
我有这样的输入
A 100
B 150
C 200
D 250
E 300
我想要的THe输出是上面所有元素的总和:如下所示
A to A - 100
A to B - 250
A to C - 450
A to D - 700
A to E - 1000
B to B - 150
B to C - 350
B to D - 600
B to E - 900
C to C - 200
C to D - 450
C to E - 650
D to D - 250
D to E - 550
E to