Dateien finden, die _nicht_ da sind

Post Reply
Message
Author
User avatar
killerhippy
Posts: 529
Joined: 19. May 2000 19:36
Contact:

Dateien finden, die _nicht_ da sind

#1 Post by killerhippy »

Hi,

Wie findet man ein Verzeichnis in einem gegebenen Pfad, in dem eine bestimmte Datei in den darin enthaltenen Unterverzeichnissen nicht enthalten ist?
Last edited by killerhippy on 24. Sep 2003 19:04, edited 1 time in total.
Es gibt keine dumme Fragen!

Killerhippy

Udo Kanter

Re: Dateien finden, die _nicht_ da sind

#2 Post by Udo Kanter »

Hi!

???

Vielleicht hilft ja das

<code>
#!/bin/bash

if [ -e $1 ]
then
echo "Datei $1 vorhanden"
else
echo "Datei $1 NICHT vorhanden"
fi;

</code>

User avatar
killerhippy
Posts: 529
Joined: 19. May 2000 19:36
Contact:

Re: Dateien finden, die _nicht_ da sind

#3 Post by killerhippy »

<img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> Nicht ganz.

Also:

in <b>/var/db/pkg/</b> befinden sich Unterverzeichnisse, z.B.
<b>app-admin/addpatches-0.2/
app-admin/fam-oss-2.6.10-r1/
app-admin/...</b>
und z.B.
<b>app-arch/cabextract-0.6/
app-arch/mt-st-0.7/
app-arch/...</b>
usw.

In <b>/var/db/pkg/<Unterverzeichnisse1>/<Unterverzeichnisse2>/<Datei></b> moechte ich das <Unterverzeichnis2> finden, in denen <Datei> nicht vorhanden ist.

Noch einmal fuer das bessere Verstaendnis semigrafisch:

<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
/var/db/pkg/<Unterverzeichnis1>/<Unter-Unterverzeichnis1>/<Datei>
/var/db/pkg/<Unterverzeichnis2>/<Unter-Unterverzeichnis2>/<Datei>
/var/db/pkg/<Unterverzeichnis3>/<Unter-Unterverzeichnis3>/
/var/db/pkg/<Unterverzeichnis4>/<Unter-Unterverzeichnis4>/<Datei>
usw.
</font><hr></pre></blockquote>
...und ich moechte <b>/var/db/pkg/<Unterverzeichnis3>/<Unter-Unterverzeichnisse3>/</b> finden.
Last edited by killerhippy on 24. Sep 2003 19:48, edited 2 times in total.

proc

Re: Dateien finden, die _nicht_ da sind

#4 Post by proc »

du willst ein unterverzeichniss finden? wen interessiert dann die datei die NICHT vorhanden ist? nur weil sonst dateien vorhanden sind in anderen verzeichnissen. komische fragestellung.
ich würde gerne wissen wo in der häuserreihe in der marktstrasse eine bestimmte klingel ist die es nicht gibt!
bitte kein alkohol konsumieren vor dem posten, ansonsten kannst du es mal mit find probieren.

man find
das kann dateien und verzeichnisse mit suchmustern durchsuchen.

rattengift

Re: Dateien finden, die _nicht_ da sind

#5 Post by rattengift »

> ich würde gerne wissen wo in der häuserreihe in der marktstrasse eine bestimmte klingel ist die es nicht gibt!

den klingelnvertreter interessieren zb strassen, in denen es noch keine häuser mit klingeln von seiner firma gibt.

User avatar
killerhippy
Posts: 529
Joined: 19. May 2000 19:36
Contact:

Re: Dateien finden, die _nicht_ da sind

#6 Post by killerhippy »

<img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle"> Ich kann nachvollziehen, dass die Fragestellung lustig oder widersinning erscheint, ist sie aber nicht.

Mein Packetmanager ist inkonsistent geworden, und ich versuche mich an Forensik <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
Es fehlt naemlich eine Beschreibungsdatei und ich moechte herausfinden wo.
Last edited by killerhippy on 25. Sep 2003 7:55, edited 1 time in total.
Es gibt keine dumme Fragen!

Killerhippy

jj

Re: Dateien finden, die _nicht_ da sind

#7 Post by jj »

locate /var/db/pkg/ | grep -v <Datei>

Muesste gehen.

gruss
jj

jj

Re: Dateien finden, die _nicht_ da sind

#8 Post by jj »

Wenn Deine Datenbank aktuell ist. Aktualisierst Du ggf. vorher mit updatedb.

gruss
jj

User avatar
killerhippy
Posts: 529
Joined: 19. May 2000 19:36
Contact:

Re: Dateien finden, die _nicht_ da sind

#9 Post by killerhippy »

@jj:

dein Tip fuehrt zwar zum Erfolg (vermutlich), trifft jedoch auch alle anderen Dateien in allen Verzeichnissen, die nicht so heissen wie die Zieldatei...

Also, inzwischen glaube ich, dass es wohl doch keinen Befehl gibt, der sowas durch einfache Schalter oder pattern sowas greifen kann.

Mit ein bisschen Programmierlogik ist das aber wohl zu schaffen, also werde ich mir ein Script dafuer basteln.

Vielen Dank fuer die Aufmerksamkeit,
Es gibt keine dumme Fragen!

Killerhippy

Marc

Re: Dateien finden, die _nicht_ da sind

#10 Post by Marc »

Hi
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
find /var/db/pkg/<Unterverzeichnis1>/ -empty
</font><hr></pre></blockquote>
findet die Unterverzeichnisse wo keine Dateien sind in /var/db/pkg/<Unterverzeichnis1>/
Bevor du anfängst mit Programmieren solltest du die Man-Pages lesen. Der Befehl find ist mächtiger als man manchmal denken mag.

Marc

Udo M.

Re: Dateien finden, die _nicht_ da sind

#11 Post by Udo M. »

Lieber Marc!

Lesen können bedeuted nicht verstehen können.

Marc

Re: Dateien finden, die _nicht_ da sind

#12 Post by Marc »

Hi
ja ich weiß, ich kenne das :)


Marc

Jochen

Re: Dateien finden, die _nicht_ da sind

#13 Post by Jochen »

Hi!

Ich skripte so gerne an solchen Aufgabenstellungen herum, weil man immer wieder etwas neues lernt... Diesmal hat mich find(1) mal wieder mit schönen Optionen überrascht.

Meine Lösung sieht so aus:<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">#!/bin/bash

BASEDIR=/var/db/pkg
SEARCHFILE=datei # Das wirst Du anpassen muessen, da ich mangels Debian-System gerade nicht
# nachschlagen kann, wie die Datei heissen muesste.

find $BASEDIR -mindepth 2 -maxdepth 2 -type d -print | \<!--no-->
while read DIR ; do
[[ ! -a $DIR/$SEARCHFILE ]] && echo $DIR
done

exit 0
</font><hr></pre></blockquote>
find(1) sucht nur die bewussten 2 Verzeichnis-Ebenen tiefer. In der Schleife wird dann einfach jedes Verzeichnis auf Existenz einer beliebig benannten Datei gecheckt und bei Nicht-Vorhandensein das Verzeichnis ausgegeben.

Ein Kommando, das direkt mittels Optionen diese Fragestellung lösen könnte, ist mit nicht bekannt (sonst hätte ich's ja auch benutzt <img src="http://www.pl-forum.de/UltraBoard/Images/Happy.gif" border="0" align="middle">).

Jochen

User avatar
killerhippy
Posts: 529
Joined: 19. May 2000 19:36
Contact:

Re: Dateien finden, die _nicht_ da sind

#14 Post by killerhippy »

@Jochen:

Hi Jochen,

schoen wieder was von dir zu lesen!

Dein Script ist voll funktionsfaehig und hat prompt den richtigen Treffer gelandet!

Wunderbar, nun kann ich mal gucken, was ich da reparieren kann (vielleicht)...

thanxalot,
Es gibt keine dumme Fragen!

Killerhippy

Post Reply