find Ordner ohne Datei *.pdf

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
slu
Beiträge: 2137
Registriert: 23.02.2005 23:58:47

find Ordner ohne Datei *.pdf

Beitrag von slu » 10.11.2017 14:54:46

Hallo,

ich scheitere gerade an einem einfach find und zwar möchte ich alle Ordner ohne eine Datei *.pdf ausgeben lassen.

Code: Alles auswählen

slu@debian:/tmp/foo$ find
.
./1
./1/file 1.pdf
./2
./2/file2.txt


slu@debian:/tmp/foo$ find . -not -iname "*.pdf" -type d
.
./1
./2
Das "-not -iname" scheint die PDFs nur zu unterdrücken, wie bekomme ich es hin das nur der Ordner "2" ausgegeben wird?
Zuletzt geändert von slu am 10.11.2017 15:17:42, insgesamt 1-mal geändert.
Gruß
slu

Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.

Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER

TomL

Re: find Ordner ohne Datei *.pdf

Beitrag von TomL » 10.11.2017 15:01:49

slu hat geschrieben: ↑ zum Beitrag ↑
10.11.2017 14:54:46
Das "-not -iname" scheint die PDFs nur zu unterdrücken,
Nee, meiner Meinung nach werden wegen "type d" nur Verzeichnisnamen unterdrückt, die dem Muster "*.pdf" entsprechen. Ich glaube, dass die PDF-Dateien gar nicht gelesen werden.
slu hat geschrieben: ↑ zum Beitrag ↑
10.11.2017 14:54:46
wie bekomme ich es hin das nur der Order "2" ausgegeben wird?
Ich glaube, das geht nicht.... zumindest nicht in einem Befehl. ....bin aber mal gespannt, ob dafür jemand vielleicht doch ne Lösung hat.

Benutzeravatar
TRex
Moderator
Beiträge: 8038
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: find Ordner ohne Datei *.pdf

Beitrag von TRex » 10.11.2017 15:40:38

Die simpelste Lösung scheint mir angemessen:

Code: Alles auswählen

find ... -print0 | egrep -v '\.pdf$' | xargs -0 
-print0 und -0 ergänzen sich, sodass du auch Leerzeichen in den Pfaden haben kannst.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

rodney
Beiträge: 332
Registriert: 09.12.2016 04:15:59

Re: find Ordner ohne Datei *.pdf

Beitrag von rodney » 10.11.2017 15:44:16

Eine kurze Suche hat folgendes (etwas abgewandelt) ergeben:

Code: Alles auswählen

find . -type d '!' -exec sh -c 'ls -1 "{}" | grep -i -q "\.pdf$"' ';' -print
Quelle: https://askubuntu.com/questions/196960/ ... ain-a-file

slu
Beiträge: 2137
Registriert: 23.02.2005 23:58:47

Re: find Ordner ohne Datei *.pdf

Beitrag von slu » 10.11.2017 18:42:01

Hat funktioniert, sehr schön.

Vielen Dank für die Antworten.
Gruß
slu

Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.

Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER

Antworten