|
|
@@ -151,6 +151,45 @@ clrun() {
|
|
|
"$@"
|
|
|
}
|
|
|
|
|
|
+_total_on_bottom() {
|
|
|
+ local cap=""
|
|
|
+ while read line; do
|
|
|
+ if [[ ${line} =~ .*total$ ]]; then
|
|
|
+ local cap="${line}"
|
|
|
+ else
|
|
|
+ echo "${line}"
|
|
|
+ fi
|
|
|
+ done
|
|
|
+ if [[ -n "${cap}" ]]; then
|
|
|
+ echo "${cap}"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+_rlall_noself() {
|
|
|
+ for i in "$@"; do
|
|
|
+ [[ $(basename ${i}) =~ ^\.\.?$ ]] || readlink -f "${i}"
|
|
|
+ done
|
|
|
+}
|
|
|
+
|
|
|
+dus() {
|
|
|
+ if [[ ${1} == "-a" ]]; then
|
|
|
+ IFS=$'\n' args=($(_rlall_noself "${2}/"* "${2}/".* )); unset IFS
|
|
|
+ elif [[ ${1} == "-d" ]]; then
|
|
|
+ IFS=$'\n' args=($(_rlall_noself "${2}/"* )); unset IFS
|
|
|
+ else
|
|
|
+ IFS=$'\n' args=($(_rlall_noself "$@")); unset IFS
|
|
|
+ fi
|
|
|
+ du -shc "${args[@]}" | sort -h | _total_on_bottom
|
|
|
+}
|
|
|
+
|
|
|
+repeat() {
|
|
|
+ local n=$1
|
|
|
+ shift
|
|
|
+ for ((i=0;i<n;++i)); do
|
|
|
+ "$@"
|
|
|
+ done
|
|
|
+}
|
|
|
+
|
|
|
if [[ $(uname) == "Darwin" ]]; then # OSX
|
|
|
. ${HOME}/.profile-osx
|
|
|
elif [[ $(uname) == *BSD* ]]; then # FreeBSD
|