ubuntuusers.de

Skript: Bestimmte Dateianzahl -> Programm Starten

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Busan

Anmeldungsdatum:
23. Juli 2006

Beiträge: 125

In Sachen Skripte bin ich leider (noch) eine Niete, darum brauche ich eure Hilfe.

find /verzeichnis -type f | wc -l

gibt die Anzahl der Dateien eines Verzeichnisses aus. Jetzt bräuchte ich folgendes Skript. Wenn die Anzahl der Dateien gleich 5 ist, dann soll eine Programm gestartet werden. Wäre nett, wenn ihr mir das schreiben könntet.

mfg Busan

romanb

Anmeldungsdatum:
16. August 2008

Beiträge: 109

Hallo Busan,

Busan schrieb:

find /verzeichnis -type f | wc -l

gibt die Anzahl der Dateien eines Verzeichnisses aus. Jetzt bräuchte ich folgendes Skript. Wenn die Anzahl der Dateien gleich 5 ist, dann soll eine Programm gestartet werden. Wäre nett, wenn ihr mir das schreiben könntet

Das Forum ist eigentlich nicht dazu da, daß man sich solche Sachen schreiben läßt, sondern eher um es selber zu lernen 😉

Dein Ansatz ist doch schon recht gut, Du brauchst nur noch eine entsprechende Entscheidung wann dein Kriterium erfüllt ist.

Dies geht mit einer einfachen 'if - then' Abfrage

if [ `find /verzecihnis -type f| wc -l` -eq 5 ] ; then pfad_zu_prgramm ; fi

Ein paar Sachen solltest Du aber beachten.

* find sucht auch in Unterverzeichnissen

* -eq (equal) reagiert nur auf genau 5, besser ist wahrscheinlich -gt (greater than)

mehr Informationen findest Du mit 'man find und man test' ( die eckigen Klammern sind nur eine Kurzform, man könnte auch if test find /verzeichnis ..... ; then ... schreiben).

Und wenn Du dich mit der shell-Progrmmierung anfreunden willst natürlich man 'bash' bzw. gibt es sehr gute Einführungen im Netz.

Gruß Roman

Busan

(Themenstarter)

Anmeldungsdatum:
23. Juli 2006

Beiträge: 125

DANKE, hat geklappt

mfg Busan

NoKurth

Avatar von NoKurth

Anmeldungsdatum:
18. August 2006

Beiträge: 430

Hallo Busan,

bezugnehmend auf dein Problem/meinen Lösungsvorschlag in bei diesem Thema würde ich nicht die Anzahl der Dateien prüfen, sondern auf das Vorhandensein bestimmter Dateien. Ob eine Datei vorhanden ist, kannst du in einem Shell-Skript wie folgt machen:

1
2
3
4
if [[ -f /Pfad/zu/Datei1 ]]
 then
  ...
fi

Wenn du auf die Existenz mehrerer Dateien prüfen willst, fügst du nach dem ersten Dateinamen "&& -f /Pfad/zu/Datei2" usw. an.

Das ganze sieht dann so aus:

1
2
3
4
5
6
if [[ -f /Pfad/zu/Datei1 && -f /Pfad/zu/Datei2 && ... && -f /Pfad/zu/DateiX ]]
 then
  ...
 else
  ....
fi

Gruß Norman

Antworten |