最大的文件
The largest file
我试图打印目录中最大的文件,但我无法解释为什么我得到的是 768 而不是 726491。$DIR 是目录,$ext 是文件扩展名。我的脚本应该在破折号中工作。
find "${DIR}" -type f -name "*.$ext" -exec du -a {} + |
sort -n -r | head -n 1 | cut -f1
768 ./subfolder/test.jpg
-rw-r--r-- 1 username vti 726491 19 mar 12:46 test.jpg
drwxr-xr-x 2 username vti 512 19 mar 12:46 subsubfolder
drwxr-xr-x 3 username vti 512 19 mar 12:46 .
drwxr-xr-x 4 username vti 512 19 mar 12:46 ..
du
,默认情况下将磁盘使用情况显示为块大小(1024 字节/512 字节),而不是以字节为单位。
如果要du
打印bytes
,需要指定-b
(或--bytes
)选项:
find "${DIR}" -type f -name "*.$ext" -exec du -a -b {} + | ..
^^
根据DU(1)
:
--apparent-size
print apparent sizes, rather than disk usage; although the
apparent size is usually smaller, it may be larger due to holes
in ('sparse') files, internal fragmentation, indirect blocks,
and the like
-B, --block-size=SIZE
scale sizes by SIZE before printing them; e.g., '-BM' prints
sizes in units of 1,048,576 bytes; see SIZE format below
-b, --bytes
equivalent to '--apparent-size --block-size=1'
更新
在不支持 -b
选项的系统上,请改用 -B 1
选项:
find "${DIR}" -type f -name "*.$ext" -exec du -a -B 1 {} + | ..
UPDATE2 在 FreeBSD 中,您需要指定 -A
选项以显示外观大小。
我试图打印目录中最大的文件,但我无法解释为什么我得到的是 768 而不是 726491。$DIR 是目录,$ext 是文件扩展名。我的脚本应该在破折号中工作。
find "${DIR}" -type f -name "*.$ext" -exec du -a {} + |
sort -n -r | head -n 1 | cut -f1
768 ./subfolder/test.jpg
-rw-r--r-- 1 username vti 726491 19 mar 12:46 test.jpg
drwxr-xr-x 2 username vti 512 19 mar 12:46 subsubfolder
drwxr-xr-x 3 username vti 512 19 mar 12:46 .
drwxr-xr-x 4 username vti 512 19 mar 12:46 ..
du
,默认情况下将磁盘使用情况显示为块大小(1024 字节/512 字节),而不是以字节为单位。
如果要du
打印bytes
,需要指定-b
(或--bytes
)选项:
find "${DIR}" -type f -name "*.$ext" -exec du -a -b {} + | ..
^^
根据DU(1)
:
--apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like -B, --block-size=SIZE scale sizes by SIZE before printing them; e.g., '-BM' prints sizes in units of 1,048,576 bytes; see SIZE format below -b, --bytes equivalent to '--apparent-size --block-size=1'
更新
在不支持 -b
选项的系统上,请改用 -B 1
选项:
find "${DIR}" -type f -name "*.$ext" -exec du -a -B 1 {} + | ..
UPDATE2 在 FreeBSD 中,您需要指定 -A
选项以显示外观大小。