Um mal wieder "ONTopic" zu werden.
Ich hatte mal vor in einer Datei zB. "count.txt" im jeweiligen Aufnahmeverzeichnis zB "/video/Enterprise/" ne Zahl zu hinterlegen.
Also in etwa so
|
Source code
|
1
2
|
# cat /video/Serien/Enterprise/count.txt
5
|
Jetzt gibts nen Script, dass alle bis auf neuesten n (aus count.txt) Aufnahmen in dem Verzeichnis löscht. Getriggerte sollte das durch die Option "-r call CMD before and after a recording".
Die Aufnahmen zu sortieren ist recht einfach:
|
Source code
|
1
|
ls -dt /video/Serien/Enterprise/* | grep -v "count.txt"
|
Mit dem folgenden Befehl bekommt man auch raus wieviele Verzeichnisse zu löschen sind.
|
Source code
|
1
|
echo $((`ls -dt * | grep -v "count.txt" | wc -l` - `cat count.txt`))
|
Mit tail müsste man das Ganze jetzt nur noch zusammenbauen un in Richtung "rm" gepiped werden.
Gescheitert bin ich letzendlich daran, dass man die `` nicht schachteln kann.
|
Source code
|
1
2
3
4
5
6
7
|
# ls -dt * | grep -v "count.txt" | tail -n `echo $((`ls -dt * | grep -v "count.txt" | wc -l` - `cat count.txt`))`
-bash: command substitution: line 1: unexpected EOF while looking for matching `)'
-bash: command substitution: line 2: syntax error: unexpected end of file
-bash: popd: directory stack empty
-bash: command substitution: line 1: syntax error near unexpected token `)'
-bash: command substitution: line 1: `))'
head: ls -dt * | grep -v count.txt | wc -lcat count.txt: invalid number of lines
|
Die Datei count.txt könnte man über die reccmds.conf mit zwei Befehlen verändern.
|
Source code
|
1
2
3
|
|| C O U N T : cat count.txt
Count erhöhen : echo $((`cat count.txt` + 1)) > count.txt
Count erniedrigen : echo $((`cat count.txt` - 1)) > count.txt
|
Ein Script sollte dann so aussehen:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#!/bin/sh
case "$1" in
before)
;;
after)
# Hier muesste das Löschen stattfinden
# Alle Verzeichnisse bis auf die neuesten
# `cat count.txt` löschen.
;;
edited)
;;
*)
echo "ERROR: unknown state: $1"
;;
esac
|
Das wärs dann. Nur zusammengebaut bekomme ich es nicht.
Any hints?