Differences between version 4 and previous revision of CyberLeo/Scraps/duso.

Other diffs: Previous Major Revision, Previous Author

Newer page: version 4 Last edited on Sunday, 6 July 2014 1:43:33 by CyberLeo Revert
Older page: version 3 Last edited on Sunday, 6 July 2014 0:51:36 by CyberLeo Revert
@@ -1,29 +1,18 @@
 Compute a sorted disk usage analysis using du, without including filesystem mountpoints 
  
 <code brush="bash"> 
-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 
+duso() {  
+ sudo sh -es <<"EOF"  
+ case $(uname -s) in  
+ Linux) statfs="stat -c %m" ;;  
+ FreeBSD ) statfs="stat -f %d " ;;  
+ *) echo "Unknown platform $(uname -s) " ;;  
+ esac  
+ mnt="$(${statfs} .)"  
+ LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent  
+ do  
+ [ "$(${statfs} "${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 4

Compute a sorted disk usage analysis using du, without including filesystem mountpoints

duso() {
  sudo sh -es <<"EOF"
  case $(uname -s) in
  Linux) statfs="stat -c %m" ;;
  FreeBSD) statfs="stat -f %d" ;;
  *) echo "Unknown platform $(uname -s)" ;;
  esac
  mnt="$(${statfs} .)"
  LANG=C ls -1a | grep -Gv '^\.$\|^\.\.$' | while read dent
  do
    [ "$(${statfs} "${dent}")" = "${mnt}" ] && printf "%s\0" "${dent}"
  done | xargs -0 du -sx | sort -bn
EOF
}