audiobook scripts
This commit is contained in:
1 parent
83e6d7ee22
commit
05cb3b1b9f
2 files changed
+31
No files matched your search
@@ -0,0 +1 @@
|
|||||||
|
for file in *; do [ -f "$file" ] || continue; dir="${file%.*}"; mkdir -p "$dir"; mv -- "$file" "$dir/"; done
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
find . -type d | while read -r dir; do
|
||||||
|
name=$(basename "$dir")
|
||||||
|
|
||||||
|
# Match Disc1, Disc01, disc02, CD1, cd01, etc.
|
||||||
|
if [[ $name =~ (^|[[:space:]._-])([Dd]isc|[Cc][Dd])0*([0-9]+)$ ]]; then
|
||||||
|
|
||||||
|
cdnum="${BASH_REMATCH[3]}"
|
||||||
|
parent=$(dirname "$dir")
|
||||||
|
parentname=$(basename "$parent")
|
||||||
|
|
||||||
|
find "$dir" -maxdepth 1 -type f | while read -r file; do
|
||||||
|
filename=$(basename "$file")
|
||||||
|
ext="${filename##*.}"
|
||||||
|
base="${filename%.*}"
|
||||||
|
|
||||||
|
# If there's only one file in the folder, omit the original basename.
|
||||||
|
if [[ $(find "$dir" -maxdepth 1 -type f | wc -l) -eq 1 ]]; then
|
||||||
|
newname="CD${cdnum}.${ext}"
|
||||||
|
else
|
||||||
|
newname="CD${cdnum}.${base}.${ext}"
|
||||||
|
fi
|
||||||
|
echo "$file" "$parent/$newname"
|
||||||
|
cp "$file" "$parent/$newname"
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "$name"
|
||||||
|
fi
|
||||||
|
done
|
||||||
Reference in new issue
Block a user