Feat: Erweitert das kopieren und ersetzen von Vorkommnissen der xdg-Ordner.
This commit is contained in:
parent
dba8ac5afc
commit
c9edf7fe98
@ -68,12 +68,11 @@ for FILE in "${!TEMPLATES[@]}"; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Dateien von ~/.config/hypr/scripts nach ~/.config/hypr/UserScripts kopieren
|
# Zielverzeichnis und UserKeybinds-Datei definieren
|
||||||
SOURCE_DIR="$HOME/.config/hypr/scripts"
|
SOURCE_DIR="$HOME/.config/hypr/scripts"
|
||||||
TARGET_DIR="$HOME/.config/hypr/UserScripts"
|
TARGET_DIR="$HOME/.config/hypr/UserScripts"
|
||||||
CONFIG_DIR="$HOME/.config/hypr/UserConfigs"
|
CONFIG_DIR="$HOME/.config/hypr/UserConfigs"
|
||||||
|
USER_KEYBINDS_FILE="$CONFIG_DIR/UserKeybinds.conf" # Definition an der richtigen Stelle
|
||||||
USER_KEYBINDS_FILE="$CONFIG_DIR/UserKeybinds.conf"
|
|
||||||
|
|
||||||
# Bereinige fälschlicherweise kopierte Dateien
|
# Bereinige fälschlicherweise kopierte Dateien
|
||||||
echo "📂 Überprüfe und bereinige Dateien im Verzeichnis $TARGET_DIR..."
|
echo "📂 Überprüfe und bereinige Dateien im Verzeichnis $TARGET_DIR..."
|
||||||
@ -103,24 +102,24 @@ else
|
|||||||
echo "⚠️ Zielverzeichnis $TARGET_DIR existiert nicht. Keine Bereinigung erforderlich."
|
echo "⚠️ Zielverzeichnis $TARGET_DIR existiert nicht. Keine Bereinigung erforderlich."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Kopiere nur relevante Dateien
|
# Kopiere nur relevante Dateien und behalte die Verzeichnisstruktur bei
|
||||||
echo "📂 Verarbeite Dateien im Verzeichnis $SOURCE_DIR..."
|
echo "📂 Verarbeite Dateien im Verzeichnis $SOURCE_DIR..."
|
||||||
mkdir -p "$TARGET_DIR"
|
mkdir -p "$TARGET_DIR"
|
||||||
COPIED_FILES=() # Array, um die tatsächlich kopierten Dateien zu speichern
|
COPIED_FILES=() # Array, um die tatsächlich kopierten Dateien zu speichern
|
||||||
|
|
||||||
if [[ -d "$SOURCE_DIR" ]]; then
|
if [[ -d "$SOURCE_DIR" ]]; then
|
||||||
for FILE in "$SOURCE_DIR"/*; do
|
find "$SOURCE_DIR" -type f | while read -r FILE; do
|
||||||
if [[ -f "$FILE" ]]; then
|
RELATIVE_PATH="${FILE#$SOURCE_DIR/}" # Relativer Pfad zur Datei
|
||||||
BASENAME=$(basename "$FILE")
|
TARGET_PATH="$TARGET_DIR/$RELATIVE_PATH"
|
||||||
|
|
||||||
# Prüfen, ob die Datei angepasst werden muss (z. B. enthält $HOME oder andere Platzhalter)
|
# Prüfen, ob die Datei angepasst werden muss
|
||||||
if grep -qE '\$HOME/Desktop|\$HOME/Downloads|\$HOME/Documents|\$HOME/Pictures|\$HOME/Music|\$HOME/Videos' "$FILE"; then
|
if grep -qE '\$HOME/Desktop|\$HOME/Downloads|\$HOME/Documents|\$HOME/Pictures|\$HOME/Music|\$HOME/Videos|/home/[a-zA-Z0-9._-]*/Desktop|/home/[a-zA-Z0-9._-]*/Downloads|/home/[a-zA-Z0-9._-]*/Documents|/home/[a-zA-Z0-9._-]*/Pictures|/home/[a-zA-Z0-9._-]*/Music|/home/[a-zA-Z0-9._-]*/Videos|\$(xdg-user-dir)/Desktop|\$(xdg-user-dir)/Downloads|\$(xdg-user-dir)/Documents|\$(xdg-user-dir)/Pictures|\$(xdg-user-dir)/Music|\$(xdg-user-dir)/Videos' "$FILE"; then
|
||||||
echo "🔄 Kopiere Datei zur Anpassung: $BASENAME"
|
echo "🔄 Kopiere Datei zur Anpassung: $RELATIVE_PATH"
|
||||||
cp "$FILE" "$TARGET_DIR"
|
mkdir -p "$(dirname "$TARGET_PATH")" # Zielverzeichnis erstellen
|
||||||
COPIED_FILES+=("$BASENAME") # Nur den Dateinamen speichern
|
cp "$FILE" "$TARGET_PATH"
|
||||||
else
|
COPIED_FILES+=("$RELATIVE_PATH") # Relativen Pfad speichern
|
||||||
echo "ℹ️ Datei $BASENAME benötigt keine Anpassung. Überspringe Kopieren."
|
else
|
||||||
fi
|
echo "ℹ️ Datei $RELATIVE_PATH benötigt keine Anpassung. Überspringe Kopieren."
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
@ -128,19 +127,31 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Ersetzungen in allen Dateien im Verzeichnis UserScripts vornehmen
|
# Ersetzungen in allen Dateien im Verzeichnis UserScripts vornehmen
|
||||||
echo "🔄 Ersetze XDG-Verzeichnisse in allen Dateien im Verzeichnis $TARGET_DIR..."
|
echo "🔄 Ersetze absolute Pfade, XDG-Verzeichnisse und Platzhalter in allen Dateien im Verzeichnis $TARGET_DIR..."
|
||||||
for FILE in "$TARGET_DIR"/*; do
|
for FILE in "$TARGET_DIR"/*; do
|
||||||
if [[ -f "$FILE" ]]; then
|
if [[ -f "$FILE" ]]; then
|
||||||
echo "Verarbeite Datei: $FILE"
|
echo "Verarbeite Datei: $FILE"
|
||||||
|
|
||||||
# Ersetzungen vornehmen
|
# Ersetzungen vornehmen
|
||||||
sed -i \
|
sed -i \
|
||||||
-e "s|\$HOME/Desktop|$(xdg-user-dir DESKTOP 2>/dev/null || echo "$HOME/Desktop")|g" \
|
-e "s|$HOME/Desktop|$(xdg-user-dir DESKTOP 2>/dev/null || echo \"\$HOME/Desktop\")|g" \
|
||||||
-e "s|\$HOME/Downloads|$(xdg-user-dir DOWNLOAD 2>/dev/null || echo "$HOME/Downloads")|g" \
|
-e "s|$HOME/Downloads|$(xdg-user-dir DOWNLOAD 2>/dev/null || echo \"\$HOME/Downloads\")|g" \
|
||||||
-e "s|\$HOME/Documents|$(xdg-user-dir DOCUMENTS 2>/dev/null || echo "$HOME/Documents")|g" \
|
-e "s|$HOME/Documents|$(xdg-user-dir DOCUMENTS 2>/dev/null || echo \"\$HOME/Documents\")|g" \
|
||||||
-e "s|\$HOME/Pictures|$(xdg-user-dir PICTURES 2>/dev/null || echo "$HOME/Pictures")|g" \
|
-e "s|$HOME/Pictures|$(xdg-user-dir PICTURES 2>/dev/null || echo \"\$HOME/Pictures\")|g" \
|
||||||
-e "s|\$HOME/Music|$(xdg-user-dir MUSIC 2>/dev/null || echo "$HOME/Music")|g" \
|
-e "s|$HOME/Music|$(xdg-user-dir MUSIC 2>/dev/null || echo \"\$HOME/Music\")|g" \
|
||||||
-e "s|\$HOME/Videos|$(xdg-user-dir VIDEOS 2>/dev/null || echo "$HOME/Videos")|g" \
|
-e "s|$HOME/Videos|$(xdg-user-dir VIDEOS 2>/dev/null || echo \"\$HOME/Videos\")|g" \
|
||||||
|
-e "s|/home/[a-zA-Z0-9._-]*/Desktop|$(xdg-user-dir DESKTOP 2>/dev/null || echo \"\$HOME/Desktop\")|g" \
|
||||||
|
-e "s|/home/[a-zA-Z0-9._-]*/Downloads|$(xdg-user-dir DOWNLOAD 2>/dev/null || echo \"\$HOME/Downloads\")|g" \
|
||||||
|
-e "s|/home/[a-zA-Z0-9._-]*/Documents|$(xdg-user-dir DOCUMENTS 2>/dev/null || echo \"\$HOME/Documents\")|g" \
|
||||||
|
-e "s|/home/[a-zA-Z0-9._-]*/Pictures|$(xdg-user-dir PICTURES 2>/dev/null || echo \"\$HOME/Pictures\")|g" \
|
||||||
|
-e "s|/home/[a-zA-Z0-9._-]*/Music|$(xdg-user-dir MUSIC 2>/dev/null || echo \"\$HOME/Music\")|g" \
|
||||||
|
-e "s|/home/[a-zA-Z0-9._-]*/Videos|$(xdg-user-dir VIDEOS 2>/dev/null || echo \"\$HOME/Videos\")|g" \
|
||||||
|
-e "s|\$(xdg-user-dir)/Desktop|$(xdg-user-dir DESKTOP 2>/dev/null || echo \"\$HOME/Desktop\")|g" \
|
||||||
|
-e "s|\$(xdg-user-dir)/Downloads|$(xdg-user-dir DOWNLOAD 2>/dev/null || echo \"\$HOME/Downloads\")|g" \
|
||||||
|
-e "s|\$(xdg-user-dir)/Documents|$(xdg-user-dir DOCUMENTS 2>/dev/null || echo \"\$HOME/Documents\")|g" \
|
||||||
|
-e "s|\$(xdg-user-dir)/Pictures|$(xdg-user-dir PICTURES 2>/dev/null || echo \"\$HOME/Pictures\")|g" \
|
||||||
|
-e "s|\$(xdg-user-dir)/Music|$(xdg-user-dir MUSIC 2>/dev/null || echo \"\$HOME/Music\")|g" \
|
||||||
|
-e "s|\$(xdg-user-dir)/Videos|$(xdg-user-dir VIDEOS 2>/dev/null || echo \"\$HOME/Videos\")|g" \
|
||||||
"$FILE"
|
"$FILE"
|
||||||
|
|
||||||
echo "✅ Ersetzungen in $FILE abgeschlossen."
|
echo "✅ Ersetzungen in $FILE abgeschlossen."
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user