Der Pfad muß vor dem Suchkriterium stehen
Hallo Listenfreune ich habe folgendes Problem O'REILLYS Taschenbibliothek gibt in find an find [Verzeichnisse] [Ausdruck] Suche die Datei datei: $ find / -type f -name datei -print Gibt alle Verzeichnisnamen aus $ find / -type d -print Unter find -type f -name "Vo*.txt" und find -type f -name "03*" gab es keine Probleme, so als sei -name die Variable für /home/user/ Ich habe aber immer noch nicht rausbekommen: Was gebe ich an, wenn ich einen anderen Pfad haben will. zB. /home/user/Documents/ Suche nach Ordnern die mir 03_ Anfangen - z.B.: 03_Linux $ find -type d -print '03_*' find: Der Pfad muß vor dem Suchkriterium stehen: 03_* $ find -type d ./Documents "03_*" find: Der Pfad muß vor dem Suchkriterium stehen: ./Documents $ find -type d /home/stefan/ "03_" find: Der Pfad muß vor dem Suchkriterium stehen: /home/stefan/ $ find -type d [/home/stefan/] ["03_*"] find: Der Pfad muß vor dem Suchkriterium stehen: [/home/stefan/] Der Pfad wird wohl immer als Suchkriterium angesehen? Wie muss ich Pfad und Suchkreterium eingeben, damit was ist was erkannt wird? Danke und schönes Wochenende Stefan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Stefan! On Sa, 09 Jan 2010, Stefan Plenert wrote:
Hallo
Listenfreune ich habe folgendes Problem
O'REILLYS Taschenbibliothek gibt in find an find [Verzeichnisse] [Ausdruck]
Suche die Datei datei:
$ find / -type f -name datei -print
Gibt alle Verzeichnisnamen aus
$ find / -type d -print ^ das ist der Pfad!
Unter find -type f -name "Vo*.txt" und find -type f -name "03*"
gab es keine Probleme, so als sei -name die Variable für /home/user/ nein.
Ich habe aber immer noch nicht rausbekommen: Was gebe ich an, wenn ich einen anderen Pfad haben will. zB. /home/user/Documents/
Suche nach Ordnern die mir 03_ Anfangen - z.B.: 03_Linux
$ find -type d -print '03_*' find: Der Pfad muß vor dem Suchkriterium stehen: 03_*
find . -type d -name "03_Linux*"
Wie muss ich Pfad und Suchkreterium eingeben, damit was ist was erkannt wird?
man find regards, Christian -- hundred-and-one symptoms of being an internet addict: 63. You start using smileys in your snail mail. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Samstag, 9. Januar 2010 22:52:57 schrieb Stefan Plenert:
$ find -type d -print '03_*' find: Der Pfad muß vor dem Suchkriterium stehen: 03_*
find PFAD -type d -name SUCHE Das aktuelle Verzeichnis ist einfach ein Punkt, sonst relativ zum Verzeichnis oder absolut. Die Option print gibt nur den Dateinamen passend zum Suchkriterium aus. Findest du aber auch alles in man 1 find. Gruß Udo -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Samstag, 9. Januar 2010 23:05:41 Udo Neist wrote:
Am Samstag, 9. Januar 2010 22:52:57 schrieb Stefan Plenert:
$ find -type d -print '03_*' find: Der Pfad muß vor dem Suchkriterium stehen: 03_*
find PFAD -type d -name SUCHE
Das aktuelle Verzeichnis ist einfach ein Punkt, sonst relativ zum Verzeichnis oder absolut. Die Option print gibt nur den Dateinamen passend zum Suchkriterium aus. Findest du aber auch alles in man 1 find.
Gruß Udo
Hallo Wie heißt es so schön: Aufruf: find [Pfad...] [Suchkriterium] Der Pfad unvollständig: [/home/stefan/........../"No*.txt"] Der Pfad vollständig: [/home/stefan/Documents/Notizblock-01.txt] Der Pfad [/home/stefan/ -type f -name "No*.txt"] Suchkriterium [-mmin -180] Ergebnis: [/home/stefan/Documents/Notizblock-01.txt] Mark + Technik $ find suchpfad -suchkreterium/en [aktion(en)] Suchpfad macht deutlich, das wir nach einem Pfad suchen. Den Pfad, wo die Datei ist. [Anfang -name Ende] Anfang: /home/stefan/ ........ Ende: "No*.txt" "No*.txt" ist nicht das Suchkreterium, daher die Meldung, der Pfad muß vor dem Suchkreterium stehen. -name ist fast wie Trennung von Anfang und Ende des Pfades mfg Stefan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Stefan! On Mo, 11 Jan 2010, Stefan Plenert wrote:
Aufruf: find [Pfad...] [Suchkriterium] […]
Sorry, mir ist das zu wirr. Was ist jetzt genau dein Problem? regards, Christian -- hundred-and-one symptoms of being an internet addict: 67. Your hard drive crashes. You haven't logged in for two hours. You start to twitch. You pick up the phone and manually dial your ISP's access number. You try to hum to communicate with the modem. You succeed. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 11 Jan 2010, Stefan Plenert schrieb:
Der Pfad [/home/stefan/ -type f -name "No*.txt"] Suchkriterium [-mmin -180]
Ergebnis: [/home/stefan/Documents/Notizblock-01.txt]
Falsch. PATH ist das zu durchsuchende Verzeichnis, bei GNU find per default das aktuelle, _ALLES_ andere, insbesondere alle Angaben wie '-type nochwas', -name 'sonstwas', '-not -path foo' sind Kriterien. Und auch bei diesen kommt es ggfs. auf die Reihenfolge an. Um beim obigem Beispiel zu bleiben: Der Pfad /home/stefan/ Suchkriterium -type f -name "No*.txt" -mmin -180 HTH, -dnh -- Typographisch ist das ja eh ein Griff in die Sanitäranlage... -- Malte Rosenau in dctt -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Montag, 11. Januar 2010 12:13:03 David Haller wrote:
Hallo,
Am Mon, 11 Jan 2010, Stefan Plenert schrieb:
Der Pfad [/home/stefan/ -type f -name "No*.txt"] Suchkriterium [-mmin -180]
Ergebnis: [/home/stefan/Documents/Notizblock-01.txt]
Falsch. PATH ist das zu durchsuchende Verzeichnis, bei GNU find per default das aktuelle, _ALLES_ andere, insbesondere alle Angaben wie '-type nochwas', -name 'sonstwas', '-not -path foo' sind Kriterien. Und auch bei diesen kommt es ggfs. auf die Reihenfolge an.
Um beim obigem Beispiel zu bleiben:
Der Pfad /home/stefan/ Suchkriterium -type f -name "No*.txt" -mmin -180
HTH, -dnh
aus man find BEZEICHNUNG find - sucht in einer Verzeichnishierarchie nach Dateien SYNTAX find [-H] [-L] [-P] [Verzeichnis...] [Ausdruck] AUSDRÜCKE Ein Ausdruck besteht aus Optionen (welche das allgemeine Verhalten der Kommandos bestimmen und immer wahr zurückgeben), Tests (welche wahr oder falsch zurückgeben) und Aktionen (welche wahr oder falsch zurückgeben). Optionen, Tests und Aktionen werden über Operatoren verknüpft. Wenn kein Operator explizit angeben ist wird der UND Opera- tor -and verwendet. Wenn der Ausdruck keine andere Aktion als -prune enthält, wird mit allen Dateien, für welche der Ausdruck wahr ergibt, die Aktion -print durchgeführt. Tests Alle numerischen Argumente können auf drei Arten angegeben werden: + N steht für alle Zahlen größer als N - N steht für alle Zahlen kleiner als N N steht für genau N -amin N auf die Datei ist vor N Minuten zugegriffen worden aus --help Aufruf: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [Pfad...] [Suchkriterium] Test: -amin N (-ammin -180) zählt damit zu Ausdrücke bzw. Suchkreterium. Siehe man hinter Verzeichnis und auch Pfad 3 Punkte. Wir suchen den Pfad, in dem die Datei oder Ordner ist, um sie zu öffnen. In welchen Verzeichnissen haben wir eine Datei No*.txt, um die Datei zu öffnen? Die Eingabe: /home/stefan/ "No*.txt" führte dazu, dass er alles durchlistete und meldete Datei oder Verzeichniss nicht gefunden Eigentlich steht der Pfad vor dem Suchkreterium. Worauf ich hinaus will ist: mit /home/stefan/ habe ich den Anfang des Verzeichnisses. Mit "No*.txt" das Ende des Pfades. Dazwischen ist eine Lücke im Verzeichnisbaum, um die Datei zu öffnen. Die Irritierung ist die "der Pfad muss vor dem Suchkreterium stehen" obwohl man den Pfad vor "No*.txt steht", Aber "No*.txt" ist nicht das Suchkreterium sondern gehört zum Pfad. Mfg Stefan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Stefan! On Mo, 11 Jan 2010, Stefan Plenert wrote:
/home/stefan/ "No*.txt" führte dazu, dass er alles durchlistete und meldete Datei oder Verzeichniss nicht gefunden
Worauf ich hinaus will ist: mit /home/stefan/ habe ich den Anfang des Verzeichnisses. Mit "No*.txt" das Ende des Pfades. Dazwischen ist eine Lücke im Verzeichnisbaum, um die Datei zu öffnen.
Nein. Du suchst eine Datei die auf das Pattern No*.txt passt, also sagst du find: Suche, ausgehend vom obersten Verzeichnis /home/stefan nach allem, was auf No*.txt passt: find /home/stefan/ -name "No*.txt"
Die Irritierung ist die "der Pfad muss vor dem Suchkreterium stehen" obwohl man den Pfad vor "No*.txt steht", Aber "No*.txt" ist nicht das Suchkreterium sondern gehört zum Pfad.
Richtig. Du gibst zunächst den Pfad an, von wo aus find rekursiv alle Dateien anhand deiner Suchkriterien überprüft - in diesem Fall halt "No*.txt".(Betrachte es einfach so, dass No*.txt in diesem Fall nicht zum Pfad gehört, sondern bereits ein Suchkriterium definiert). Mit freundlichen Grüßen Christian -- hundred-and-one symptoms of being an internet addict: 70. ISDN lines are added to your house on a hourly basis -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Montag, 11. Januar 2010 23:26:41 Christian Brabandt wrote:
Hi Stefan!
On Mo, 11 Jan 2010, Stefan Plenert wrote:
/home/stefan/ "No*.txt" führte dazu, dass er alles durchlistete und meldete Datei oder Verzeichniss nicht gefunden
Worauf ich hinaus will ist: mit /home/stefan/ habe ich den Anfang des Verzeichnisses. Mit "No*.txt" das Ende des Pfades. Dazwischen ist eine Lücke im Verzeichnisbaum, um die Datei zu öffnen.
Nein. Du suchst eine Datei die auf das Pattern No*.txt passt, also sagst du find: Suche, ausgehend vom obersten Verzeichnis /home/stefan nach allem, was auf No*.txt passt:
find /home/stefan/ -name "No*.txt"
Die Irritierung ist die "der Pfad muss vor dem Suchkreterium stehen" obwohl man den Pfad vor "No*.txt steht", Aber "No*.txt" ist nicht das Suchkreterium sondern gehört zum Pfad.
Richtig. Du gibst zunächst den Pfad an, von wo aus find rekursiv alle Dateien anhand deiner Suchkriterien überprüft - in diesem Fall halt "No*.txt".(Betrachte es einfach so, dass No*.txt in diesem Fall nicht zum Pfad gehört, sondern bereits ein Suchkriterium definiert).
Wo endet ein Verzeichnis? a) /home/stefan/Documents/ b)/home/stefan/Documents/Notizblock_01.txt Wenn wir einen Ordner suchen, endet das Verzeichnis vor dem Ordner oder danach?
Mit freundlichen Grüßen Christian
Hallo Jeder drückt es jeder anders aus. [Pfad...] [Suchkriterium] [Verzeichnis...] [Ausdruck] In man ist der Ausdruck genau definiert ist und damit "No*.txt" nicht zum Ausdruck gehört" (in --help und konsole [Suchkriterium]) Mark + Technik Suchpfad -Suchkreterium/en -------------------------------------------------------------- find Pfad datei listet wie alles durch mit der Meldung "Datei oder Verzeichnis nicht gefunden" ~> find /home/stefan/ -"No.txt" find: unbekannte Option `-No.txt' ----------------------------------------------------------- Genau gesagt, was davor was danach? find /home/stefan ? "*.txt" [Ausdruck] find ~ -type f | d | l | c | b | p | s -name "muster" [Ausdruck] find ~ -type l -name "muster" = find ~ -lname "muster" Was muss zwischen Verzeichniss und "muster" und was danach [Suchkreterium / Ausdruck]? mfg Stefan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Stefan! On Di, 12 Jan 2010, Stefan Plenert wrote:
On Montag, 11. Januar 2010 23:26:41 Christian Brabandt wrote:
Richtig. Du gibst zunächst den Pfad an, von wo aus find rekursiv alle Dateien anhand deiner Suchkriterien überprüft - in diesem Fall halt "No*.txt".(Betrachte es einfach so, dass No*.txt in diesem Fall nicht zum Pfad gehört, sondern bereits ein Suchkriterium definiert).
Wo endet ein Verzeichnis? a) /home/stefan/Documents/ b)/home/stefan/Documents/Notizblock_01.txt
Wenn wir einen Ordner suchen, endet das Verzeichnis vor dem Ordner oder danach?
Ich verstehe die Frage nicht. Davon abgesehen hört sich b) nicht wie ein Verzeichnis an, sondern wie ein Dateiname.
In man ist der Ausdruck genau definiert ist und damit "No*.txt" nicht zum Ausdruck gehört" (in --help und konsole [Suchkriterium])
Nein. Dein "No*.txt" definiert ein Suchkriterium und ist sehr wohl ein Ausdruck.
Mark + Technik
Suchpfad -Suchkreterium/en
--------------------------------------------------------------
find Pfad datei listet wie alles durch mit der Meldung "Datei oder Verzeichnis nicht gefunden"
~> find /home/stefan/ -"No.txt" find: unbekannte Option `-No.txt'
Logisch. Da fehlt die Angabe deines Kriteriums. -No.txt ist kein Schalter des Befehls find. Woher soll find denn wissen, gegen was es No.txt prüfen soll? Ist das eine regex? Ein Name? Ein Timestamp? Ein Owner? Deswegen mußt vor dem Ausdruck "No.txt" noch das Kriterium stehen, gegen das find prüfen soll also z.B. -name. Ergibt: ~$ find /home/stefan/ -name "No.txt"
find ~ -type l -name "muster" = find ~ -lname "muster"
Da bin ich mir nicht sicher, ob das immer so stimmt.
Was muss zwischen Verzeichniss und "muster" und was danach [Suchkreterium / Ausdruck]?
"Muster" ist bereits ein Suchkriterium. Mit freundlichen Grüßen Christian -- hundred-and-one symptoms of being an internet addict: 71. You wonder how people walk -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi,
~> find /home/stefan/ -"No.txt" find: unbekannte Option `-No.txt'
-----------------------------------------------------------
Genau gesagt, was davor was danach?
find /home/stefan ? "*.txt" [Ausdruck]
Was genau gibt es an find /home/stefan -name "*.txt*" zu deuteln? Alles nach dem Pfad ist doch eben der Ausdruck nach dem du suchst. Gehörte der Dateiname noch zum Pfad würde find ja wenig Sinn ergeben. (Höchstens sowas wie "liste mir den Namen der Datei /foo/bar.txt auf aber nur, wenn sie innerhalb der letzten Stunde geändert wurde" aber selbst das erschiene mir vom Sinnaspekt her recht zweifelhaft) Was du willst: suche [im Pfad XY] [Dateien, die den Kriterien foo und bar gerecht werden] und ein Kriterium ist nun mal auch ganz banal der Name, denn er ist optional - vielleicht will man auch Dateien nach Größen finden oder Besitzern oder oder oder und der Name ist erstmal wurst. Wie gesagt, für den reinen Namen würd ich eh auf locate zurückgreifen. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Dienstag, 12. Januar 2010 10:04:03 Philipp Bender wrote:
Hi,
~> find /home/stefan/ -"No.txt" find: unbekannte Option `-No.txt'
-----------------------------------------------------------
Genau gesagt, was davor was danach?
find /home/stefan ? "*.txt" [Ausdruck]
Was genau gibt es an
find /home/stefan -name "*.txt*"
zu deuteln? Alles nach dem Pfad ist doch eben der Ausdruck nach dem du suchst. Gehörte der Dateiname noch zum Pfad würde find ja wenig Sinn ergeben. (Höchstens sowas wie "liste mir den Namen der Datei /foo/bar.txt auf aber nur, wenn sie innerhalb der letzten Stunde geändert wurde" aber selbst das erschiene mir vom Sinnaspekt her recht zweifelhaft)
Was du willst:
suche [im Pfad XY] [Dateien, die den Kriterien foo und bar gerecht werden]
und ein Kriterium ist nun mal auch ganz banal der Name, denn er ist optional - vielleicht will man auch Dateien nach Größen finden oder Besitzern oder oder oder und der Name ist erstmal wurst. Wie gesagt, für den reinen Namen würd ich eh auf locate zurückgreifen.
Werd mal im WorkShop den Ausdruck [Test] -ammin -N find ~ type f -name -ammin -N muster oder find ~ type f -name muster -ammin -N testen. mfg Stefan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Stefan! On Di, 12 Jan 2010, Stefan Plenert wrote:
Werd mal im WorkShop den Ausdruck [Test] -ammin -N
find ~ type f -name -ammin -N muster
find kennt weder -ammin noch -N und -name verlangt ein Argument. Mit freundlichen Grüßen Christian -- Ich leider nicht, meine Freunde; aber ich fühle eine gewisse Schwierigkeit zu existieren. -- Bernard Le Bovier de Fontenelle -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Dienstag, 12. Januar 2010 20:56:42 schrieb Christian Brabandt:
Hi Stefan!
On Di, 12 Jan 2010, Stefan Plenert wrote:
Werd mal im WorkShop den Ausdruck [Test] -ammin -N
find ~ type f -name -ammin -N muster
find kennt weder -ammin noch -N und -name verlangt ein Argument.
Mit freundlichen Grüßen Christian
Und vor "type" fehlt das "-" wenn ich das richtig sehe. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Mittwoch, 13. Januar 2010 07:52:36 Philipp Bender wrote:
Am Dienstag, 12. Januar 2010 20:56:42 schrieb Christian Brabandt:
Hi Stefan!
On Di, 12 Jan 2010, Stefan Plenert wrote:
Werd mal im WorkShop den Ausdruck [Test] -ammin -N
find ~ type f -name -ammin -N muster
find kennt weder -ammin noch -N und -name verlangt ein Argument.
Mit freundlichen Grüßen Christian
Und vor "type" fehlt das "-" wenn ich das richtig sehe.
Hallo, Tipfehler, hast recht -type f ~ für /home/stefan/ man Tests Alle numerischen Argumente können auf drei Arten angegeben werden: + N steht für alle Zahlen größer als N - N steht für alle Zahlen kleiner als N N steht für genau N -amin N auf die Datei ist vor N Minuten zugegriffen worden schein ich noch ein Eingabenfehler gemacht. -amin -N auf die Datei ist vor N Minuten zugegriffen worden (muss - / + oder vor amin stehen: - amin N, +amin N oder amin N -atime N auf die Datei ist vor N*24 Stunden zugegriffen worden -cmin N der Status der Datei wurde vor N Minuten geändert find ~ -type f -name muster - amin N find ~ -type f -name "No*.txt" -amin 180 find ~ -type f -name "No*.txt" -amin -180 brachte keine Probleme find ~ -type f -name -amin -180 "No*.txt" kam es zur Fehlermeldung Die Auflistung mehrerer Argumente ist mir noch nicht klar. mfg Stefan ------------ Kunst ist mehr als können. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Christian Brabandt
-
David Haller
-
Philipp Bender
-
Stefan Plenert
-
Udo Neist