Ich bin neu (ish) zu Bash und ich versuche herauszufinden, wie man ein paar verschiedene Dinge in einem Skript kombinieren.Bash: Listen Verzeichnisse mit einem Dateityp, aber einen anderen Dateityp fehlt
Ich suche nach Dateiübertragungen, die unterbrochen wurden. Diese Ordner enthalten Bilddateien (entweder jpgs oder png), aber eine andere spezifische Datei (final.txt) fehlt.
Hier ist, was ich verwende Ordner mit Bildern zu finden (von here):
for f in */incoming/ ; do
log_f="${f//\//}"
echo "searching $f"
find "$f" -iname "*jpg*" -o -iname "*png*" > "/output/${log_f}.txt"
echo "$f finished"
done
Dann Ich bin mit diesem Befehl Ordner zu finden, die finished.txt Datei fehlt (von here):
find -mindepth 2 -maxdepth 2 -type d '!' -exec test -e "{}/finished.txt" ';' -print
gibt es eine Möglichkeit, sie zu kombinieren, so habe ich eine Liste von Ordnern, die jpg oder png-Dateien, aber tun haben nicht finished.txt? Auch wenn ich -mtime hinzufügen möchte, wo stelle ich das hin?
Alternativ, wenn es eine bessere/schnellere Möglichkeit gibt, dies zu tun, interessiert mich das auch.
Danke!
Danke dafür. Aus irgendeinem Grund bekomme ich das: 'finden: '': Keine solche Datei oder Verzeichnis's – Amy
Ich hoffe, Sie setzen f, die im obigen Befehl" $ f "parametrisiert ist. Also etwas wie f =/Benutzer/Gast/meinVerzeichnis, gefolgt von dem Ausführen des obigen Befehls. –