Differences between version 3 and previous revision of CyberLeo/Scraps/duso.
Other diffs: Previous Major Revision, Previous Author
Newer page: | version 3 | Last edited on Sunday, 6 July 2014 0:51:36 | by CyberLeo | Revert |
Older page: | version 2 | Last edited on Monday, 15 October 2012 8:24:11 | by CyberLeo | Revert |
@@ -1,13 +1,29 @@
Compute a sorted disk usage analysis using du, without including filesystem mountpoints
<code brush="bash">
-duso() {
-sudo sh -e <<"EOF"
-mnt="$(stat -c %m .)"
-LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent
-do
-
[ "$(stat -c %m "${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}"
-done | xargs -0 du -sx | sort -bn
+case $(uname -s) in
+Linux)
+
duso() {
+
sudo sh -e <<"EOF"
+
mnt="$(stat -c %m .)"
+
LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent
+
do
+
[ "$(stat -c %m "${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}"
+
done | xargs -0 du -sx | sort -bn
EOF
-}
+
}
+ ;;
+FreeBSD)
+ duso() {
+ sudo sh -e <<"EOF"
+ mnt="$(stat -f %d .)"
+ LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent
+ do
+ [ "$(stat -f %d "${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}"
+ done | xargs -0 du -sx | sort -bn
+EOF
+ }
+ ;;
+*) echo "Unknown platform $(uname -s)" ;;
+esac
</code>
version 3
Compute a sorted disk usage analysis using du, without including filesystem mountpoints
case $(uname -s) in Linux) duso() { sudo sh -e <<"EOF" mnt="$(stat -c %m .)" LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent do [ "$(stat -c %m "${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}" done | xargs -0 du -sx | sort -bn EOF } ;; FreeBSD) duso() { sudo sh -e <<"EOF" mnt="$(stat -f %d .)" LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent do [ "$(stat -f %d "${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}" done | xargs -0 du -sx | sort -bn EOF } ;; *) echo "Unknown platform $(uname -s)" ;; esac