Compare commits
2 Commits
23fef4b3bb
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 9b02fc6a94 | |||
| 372aba4217 |
10
mvi.sh
10
mvi.sh
@ -1,4 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
# Detta skript flyttar filer och kataloger som 'mv', men hanterar namnkollisioner
|
||||||
|
# genom att lägga till ett numeriskt index före filändelsen om målet redan existerar.
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
@ -36,14 +38,14 @@ indexed_path() {
|
|||||||
name=$(basename -- "$target")
|
name=$(basename -- "$target")
|
||||||
|
|
||||||
# Dela upp name i bas + ev. ext (sista punkten räknas som extension-separator)
|
# Dela upp name i bas + ev. ext (sista punkten räknas som extension-separator)
|
||||||
if [[ "$name" = .* && "$name" != *.* ]]; then
|
if [[ "$name" =~ ^\.[^.]*$ ]]; then
|
||||||
# Dold fil utan extension (".env")
|
# Dold fil utan extension (".env", ".gitignore")
|
||||||
base="$name"
|
base="$name"
|
||||||
ext=""
|
ext=""
|
||||||
elif [[ "$name" = *.* ]]; then
|
elif [[ "$name" = *.* ]]; then # Filer med punkt och extension (t.ex. "fil.txt", "arkiv.tar.gz", ".tar.gz")
|
||||||
base="${name%.*}"
|
base="${name%.*}"
|
||||||
ext=".${name##*.}"
|
ext=".${name##*.}"
|
||||||
else
|
else # Filer utan punkt eller extension (t.ex. "fil", "mapp")
|
||||||
base="$name"
|
base="$name"
|
||||||
ext=""
|
ext=""
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user