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