commit ac3a5e0091c74d9ae4e19d3dc8fac83a1b91caf0
parent 6e8b79ebd8186be3e955bb26877f72f45292edf7
Author: sin <sin@2f30.org>
Date: Wed, 16 Oct 2013 18:00:02 +0100
Add -k support for du(1)
This setting overrides the BLOCKSIZE environment variable.
Diffstat:
2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/du.1 b/du.1
@@ -19,3 +19,7 @@ Display an entry for each file in the file hierarchy.
.TP
.BI \-s
Display only the grand total for the specified files.
+.TP
+.BI \-k
+By default all sizes are reported in 512-byte block counts.
+The -k option causes the numbers to be reported in kilobyte counts.
diff --git a/du.c b/du.c
@@ -15,6 +15,7 @@ static long blksize = 512;
static bool aflag = false;
static bool sflag = false;
+static bool kflag = false;
static long du(const char *);
static void print(long n, char *path);
@@ -38,6 +39,9 @@ main(int argc, char *argv[])
case 's':
sflag = true;
break;
+ case 'k':
+ kflag = true;
+ break;
default:
usage();
} ARGEND;
@@ -46,6 +50,9 @@ main(int argc, char *argv[])
if (bsize)
blksize = estrtol(bsize, 0);
+ if (kflag)
+ blksize = 1024;
+
if (argc < 1) {
n = du(".");
if (sflag)