From 8636b82892808aa8a621eb7c85f132dca2b9938d Mon Sep 17 00:00:00 2001 From: Rico Ullmann Date: Sun, 24 Apr 2016 14:26:04 +0200 Subject: [PATCH] add ds-function to calculate dir sizes and sort them --- init.fish | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 init.fish diff --git a/init.fish b/init.fish new file mode 100644 index 0000000..f345203 --- /dev/null +++ b/init.fish @@ -0,0 +1,27 @@ +function df --description 'df should always be human readable' + command df -h $argv +end + +function ds --description 'calculate size of current or a given dir and sort by size' + switch (count $argv) + + case 0 + du -hsx * .[a-zA-Z0-9_]* 2> /dev/null | \ + egrep '^ *[0-9.]*[MG]' | sort -n > /tmp/list + egrep '^ *[0-9.]*M' /tmp/list + egrep '^ *[0-9.]*G' /tmp/list + rm -rf /tmp/list + + case 1 + du -hx $argv .[a-zA-Z0-9_]* 2> /dev/null | \ + egrep '^ *[0-9.]*[MG]' | sort -n > /tmp/list + egrep '^ *[0-9.]*M' /tmp/list + egrep '^ *[0-9.]*G' /tmp/list + rm -rf /tmp/list + + case \* + echo "Only none or 1 argument is valid!" + return 1 + + end +end