Hallo,
ich versuche, ein Skript mit Hilfe von Chat GPT und Google zu schreiben, dass mir vewaiste .bif Dateien findet.
Das sind Reste von Emby, die übrig bleiben wenn man eine dazugehörige Aufnahme löscht.
Emby erzeugt immer eine gleichlautende Datei, hängt noch ein " -320-10" an, und die Endung .bif.
So wird aus "Aufnahme.ts" dann "Aufnahme -320-10.bif"
Die Aufgabe klingt einfach, nämlich "Erstelle ein Unraid Skript, das alle .bif Dateien in einem Verzeichnis sucht. Entferne dann die letzen 8 Zeichen aus dem Dateinamen. Suche weitere Dateien, mit dem gleichen Dateinamen, aber der Endung .ts. Gibt es den Dateinamen nicht, gibt den ursprünglichen Dateinamen mit der .bif Endung aus."
Leider funktioniert es nicht wie ich es mir dachte, es gibt trotz zig Versuchen immer nur Variationen von:
#!/bin/bash
for file in *.bif; do
filename="${file%.*}"
if [ ! -f "${filename::-8}.ts" ]; then
echo "$file"
fi
done
Ich kenne die Syntax zu wenig und breche mir grad die Hirnwindungen.
Aber vom Ergebnis her scheint es genau umgekehrt wie es sein soll, es listet alles auf was .bif UND .ts hat.
Verstehe ich da was falsch, oder wo ist noch ein Denkansatz?
Danke euch!