FHEM Forum

Verschiedenes => Off-Topic => Thema gestartet von: eldrik am 26 November 2018, 14:49:19

Titel: Linux Ordner löschen, die nur noch bestimmte Dateitypen beinhalten
Beitrag von: eldrik am 26 November 2018, 14:49:19
Moin zusammen,

da ich beim googlen nichts vermeindbar passendes gefunden habe, stelle ich meine Frage einmal hier.

Ich nutze zum Aufzeichnen von Sendungen tvheadend und zum überspringen von Werbung comskip.

In tvheadend kann ich angeben wann Aufzeichnungen automatisch gelöscht werden sollen, tvheadend löscht dann selbständig die Aufzeichnungen und Unterordner wenn diese leer sind.

Durch die Nutzung von comskip werden jedoch .txt und .edl Files erzeugt, deren verbleib dafür sorgen, dass tvheadend zwar das Recording, aber im Anschluss nicht den Ordner löscht, welches den Verzeichnisbaum entsprechend anwachsen und den WAF, beim Auswählen von Recordings z.B. via Kodi, entsprechend in die Tiefe schnellen lässt  ::).

Daher möchte ich nun selber per Cron ein Shell Script einplanen, welches Verzeichnisse löscht, die nur noch .edl und oder .txt Files enthalten.

Hoffe hier finden sich entsprechend Shellwissende :)

Greetz
Eldrik
Titel: Antw:Linux Ordner löschen, die nur noch bestimmte Dateitypen beinhalten
Beitrag von: Wuppi68 am 26 November 2018, 15:37:48
kannst Du nicht die Dateien direkt nach dem abarbeiten von comskip diese direkt löschen lassen?

ansonsten so völlig rudimentar: rm -rf /pathToTempData/*.{edl,txt}

ABER PASS AUF --> keine Rückfragen
Titel: Antw:Linux Ordner löschen, die nur noch bestimmte Dateitypen beinhalten
Beitrag von: CoolTux am 26 November 2018, 15:38:38
Und löscht nur die Dateien, nicht die Ordner
Titel: Antw:Linux Ordner löschen, die nur noch bestimmte Dateitypen beinhalten
Beitrag von: Wuppi68 am 26 November 2018, 15:53:57
Zitat von: CoolTux am 26 November 2018, 15:38:38
Und löscht nur die Dateien, nicht die Ordner

dann noch den

find /pathToTempData/* -depth -type d -empty -exec rmdir {} \;

hinterher ;-)
Titel: Antw:Linux Ordner löschen, die nur noch bestimmte Dateitypen beinhalten
Beitrag von: eldrik am 26 November 2018, 20:43:06
Zitat von: Wuppi68 am 26 November 2018, 15:37:48
kannst Du nicht die Dateien direkt nach dem abarbeiten von comskip diese direkt löschen lassen?

ansonsten so völlig rudimentar: rm -rf /pathToTempData/*.{edl,txt}

ABER PASS AUF --> keine Rückfragen

Hi,

Nein, das geht so nicht, da die Aufnahmedatei als solches nicht verändert wird, sondern lediglich die Werbestellen, in dem edl und txt File aufgeführt und durch den Player bei der Wiedergabe übersprungen werden.

Ich werde mit den Codebeispielen mal etwas herumexperimentieren , danke euch 😊

Greetz
Eldrik
Titel: Antw:Linux Ordner löschen, die nur noch bestimmte Dateitypen beinhalten
Beitrag von: eldrik am 27 November 2018, 11:38:39
Moin zusammen,

kurzes Update, ich verwende jetzt folgende Zeilen um Ordner zu suchen und zu löschen, die keine Video Files enthalten.

#! /bin/bash

cd /verzeichnisname/
find -depth -type d | while read -r D
do
v=$(find "$D" -iname '*.ts' -o -iname '*.mkv' -o -iname '*.avi')
case "$v" in
""  )
    #echo "$D no ts & mkv & avi"
     rm -fr "$D" #uncomment to use
;;
esac
done


Greetz
Eldrik