tero@627: ### FS utils tero@627: tero@627: function _list { tero@627: local glob="$1" tero@627: local test="$2" tero@627: local prefix="$3" tero@627: tero@627: for file in $glob; do tero@627: [ $test "$file" ] || continue tero@627: [ -n "$prefix" ] && file="${file#$prefix}" tero@627: tero@627: echo -n "$file " tero@627: done tero@627: } tero@627: tero@628: ## List names of all things in dir tero@627: function list { tero@627: _list "$1/*" '-e' ${2:-$1/} tero@627: } tero@627: tero@627: ## List names of files in dir: tero@627: # tero@627: # list_files $dir tero@627: # tero@627: function list_files { tero@627: _list "$1/*" '-f' ${2:-$1/} tero@627: } tero@627: tero@627: ## List names of dirs in dir: tero@627: function list_dirs { tero@627: _list "$1/*" '-d' ${2:-$1/} tero@627: } tero@627: tero@684: ## Expand a file or directory path to any files/directorys within that tree tero@628: function list_tree { tero@684: _list "$1 $1/**" '-e' '' tero@627: }