Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Dateien finden, die _nicht_ da sind

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
killerhippy



Anmeldungsdatum: 19.05.2000
Beiträge: 529

BeitragVerfasst am: 24. Sep 2003 19:04   Titel: Dateien finden, die _nicht_ da sind

Hi,

Wie findet man ein Verzeichnis in einem gegebenen Pfad, in dem eine bestimmte Datei in den darin enthaltenen Unterverzeichnissen nicht enthalten ist?
_________________
Es gibt keine dumme Fragen!

Killerhippy


Zuletzt bearbeitet von killerhippy am 24. Sep 2003 19:04, insgesamt 1-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Udo Kanter
Gast





BeitragVerfasst am: 24. Sep 2003 19:27   Titel: Re: Dateien finden, die _nicht_ da sind

Hi!

???

Vielleicht hilft ja das

<code>
#!/bin/bash

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

</code>
 

killerhippy



Anmeldungsdatum: 19.05.2000
Beiträge: 529

BeitragVerfasst am: 24. Sep 2003 19:48   Titel: Re: Dateien finden, die _nicht_ da sind

Nicht ganz.

Also:

in /var/db/pkg/ befinden sich Unterverzeichnisse, z.B.
app-admin/addpatches-0.2/
app-admin/fam-oss-2.6.10-r1/
app-admin/...

und z.B.
app-arch/cabextract-0.6/
app-arch/mt-st-0.7/
app-arch/...

usw.

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

Noch einmal fuer das bessere Verstaendnis semigrafisch:

code:

/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.


...und ich moechte /var/db/pkg/<Unterverzeichnis3>/<Unter-Unterverzeichnisse3>/ finden.


Zuletzt bearbeitet von killerhippy am 24. Sep 2003 19:48, insgesamt 2-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

proc
Gast





BeitragVerfasst am: 24. Sep 2003 23:37   Titel: Re: Dateien finden, die _nicht_ da sind

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
Gast





BeitragVerfasst am: 25. Sep 2003 7:29   Titel: Re: Dateien finden, die _nicht_ da sind

> 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.
 

killerhippy



Anmeldungsdatum: 19.05.2000
Beiträge: 529

BeitragVerfasst am: 25. Sep 2003 7:55   Titel: Re: Dateien finden, die _nicht_ da sind

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
Es fehlt naemlich eine Beschreibungsdatei und ich moechte herausfinden wo.
_________________
Es gibt keine dumme Fragen!

Killerhippy


Zuletzt bearbeitet von killerhippy am 25. Sep 2003 7:55, insgesamt 1-mal bearbeitet
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

jj
Gast





BeitragVerfasst am: 25. Sep 2003 17:04   Titel: Re: Dateien finden, die _nicht_ da sind

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

Muesste gehen.

gruss
jj
 

jj
Gast





BeitragVerfasst am: 25. Sep 2003 17:12   Titel: Re: Dateien finden, die _nicht_ da sind

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

gruss
jj
 

killerhippy



Anmeldungsdatum: 19.05.2000
Beiträge: 529

BeitragVerfasst am: 26. Sep 2003 17:35   Titel: Re: Dateien finden, die _nicht_ da sind

@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
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Marc
Gast





BeitragVerfasst am: 27. Sep 2003 2:38   Titel: Re: Dateien finden, die _nicht_ da sind

Hi
code:

find /var/db/pkg/<Unterverzeichnis1>/ -empty


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.
Gast





BeitragVerfasst am: 28. Sep 2003 22:46   Titel: Re: Dateien finden, die _nicht_ da sind

Lieber Marc!

Lesen können bedeuted nicht verstehen können.
 

Marc
Gast





BeitragVerfasst am: 30. Sep 2003 0:09   Titel: Re: Dateien finden, die _nicht_ da sind

Hi
ja ich weiß, ich kenne das :)


Marc
 

Jochen
Gast





BeitragVerfasst am: 30. Sep 2003 9:32   Titel: Re: Dateien finden, die _nicht_ da sind

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:
code:
#!/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 | \
while read DIR ; do
[[ ! -a $DIR/$SEARCHFILE ]] && echo $DIR
done

exit 0


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 ).

Jochen
 

killerhippy



Anmeldungsdatum: 19.05.2000
Beiträge: 529

BeitragVerfasst am: 30. Sep 2003 16:47   Titel: Re: Dateien finden, die _nicht_ da sind

@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
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy