shuffle for enumeartor
This commit is contained in:
@@ -12,6 +12,7 @@ Usage: file-enumerate [-k] [-p #] [-o folder]
|
||||
-o Output folder name, default: enumerated
|
||||
-c Copy instead of hard link
|
||||
-i Offset. start from number (default 1)
|
||||
-s Shuffle order
|
||||
'
|
||||
exit
|
||||
}
|
||||
@@ -20,6 +21,7 @@ pad=4
|
||||
output=enumerated
|
||||
hardlink="-l"
|
||||
offset=1
|
||||
shuf=false
|
||||
for (( i=1; i<=$#; i++ )); do
|
||||
j=$(( i + 1 ))
|
||||
[[ "${!i}" = "-h" ]] && _help
|
||||
@@ -29,12 +31,18 @@ for (( i=1; i<=$#; i++ )); do
|
||||
[[ "${!i}" = "-p" ]] && { pad=${!j}; i=$(( i + 1 )); }
|
||||
[[ "${!i}" = "-o" ]] && { output=${!j}; i=$(( i + 1 )); }
|
||||
[[ "${!i}" = "-i" ]] && { offset=${!j}; i=$(( i + 1 )); }
|
||||
[[ "${!i}" = "-s" ]] && { shuf=true; }
|
||||
done
|
||||
|
||||
printf -v padstr "%%0%dd" $pad
|
||||
|
||||
_drive() {
|
||||
ls -1p | grep -v "/$" | sort -V | cat -n | while read n f; do
|
||||
_enum() {
|
||||
if [[ $shuf = true ]]; then
|
||||
sorting="shuf"
|
||||
else
|
||||
sorting="sort -V"
|
||||
fi
|
||||
ls -1p | grep -v "/$" | $sorting | cat -n | while read n f; do
|
||||
n=$(( n + $offset - 1 ))
|
||||
printf -v padded $padstr $n
|
||||
if [[ $keep = true ]]; then
|
||||
@@ -53,4 +61,4 @@ _drive() {
|
||||
}
|
||||
|
||||
mkdir -p "${output}"
|
||||
_drive
|
||||
_enum
|
||||
|
||||
Reference in New Issue
Block a user