diff --git a/files/file-enumerate b/files/file-enumerate index e300a44..42b901d 100755 --- a/files/file-enumerate +++ b/files/file-enumerate @@ -2,30 +2,33 @@ function _help() { echo ' -Usage: file-enumerate [-k] [-p #] +Usage: file-enumerate [-k] [-p #] [-o folder] Creates a folder "enumerated" and hard links all files in the current folder - renamed with a number + renamed with a number (d.ext). - -k keep filename, and insert the number in the beginning - -p pad nunbers, defaults to 4 + -k Keep filename as is (d.filename) + -p Pad numbers, defaults to 4 + -o Output older name, default: enumerated ' exit } keep=false pad=4 +output=enumerated for (( i=1; i<=$#; i++ )); do j=$(( i + 1 )) [[ "${!i}" = "-h" ]] && _help [[ "${!i}" = "--help" ]] && _help [[ "${!i}" = "-k" ]] && keep=true [[ "${!i}" = "-p" ]] && { pad=${!j}; i=$(( i + 1 )); } + [[ "${!i}" = "-o" ]] && { output=${!j}; i=$(( i + 1 )); } done printf -v padstr "%%0%dd" $pad _drive() { - ls -1prt | grep -v "/$" | cat -n | while read n f; do + ls -1prt | grep -v "/$" | cat -n | while read n f; do printf -v padded $padstr $n if [[ $keep = true ]]; then printf -v outname "%s.%s" "$padded" "$f" @@ -38,9 +41,9 @@ _drive() { fi fi printf "%30s -> %s\n" "$f" "$outname" - cp -l "${f}" enumerated/"$outname" + cp -l "${f}" "${output}"/"$outname" done } -mkdir -p enumerated +mkdir -p "${output}" _drive