Alexander30: Recursive Suche u. Linux

Hallo,

wie führe ich eine rekursive Suche unter Linux über SSH aus?

sowas wie find -R *.php

ich brauche auf jedenfall auch die Ausgabe von Änderungsdatum. Oder noch besser, wenn die Suche gleich nach Datum gefilter wird. Also alle PHP Dateien in allen Unterverzeichnissen ausgehen von X mit Änderungsdatum XXY.

Danke.

  1. Sup!

    man find

    Gruesse,

    Bio

    --
    Never give up, never surrender!!!
    1. Sup!

      man find

      Gruesse,

      Bio

      @Bio, danke. Ich weis von "man find" auch von "find --help". Die Beschreibung ist ziemlich lang und ich brauche es nur 1 mal. Deshalb frage ich ja im Forum.

      1. Hi!

        FOTU sux!

        @Bio, danke. Ich weis von "man find" auch von "find --help".

        Dann lies das doch!

        Die Beschreibung ist ziemlich lang und

        Armes Ding!

        ich brauche es nur 1 mal.

        Das weißt Du nicht - wetten?

        Deshalb frage ich ja im Forum.

        In der Zeit hättest Du es längst lesen können!

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
        1. Ich finde es eigentlich so: "Besser nichts antworten, als irgendwas". Wenn Du es selber nicht weist, dann lass bitte die anderen Antworten.

          Erspar mir bitte weitere "Antworten" von Dir.

          Gruß Alexander.

          1. Hallo

            Ich finde es eigentlich so: "Besser nichts antworten, als irgendwas". Wenn Du es selber nicht weist, dann lass bitte die anderen Antworten.

            Wieso? Er hat recht. Einerseits hättest du das innerhalb der Stunde (bis zu deiner Antwort) wirklich lesen können und andererseits weißt du _nicht_ ob du es wirklich nur einmal brauchst, was ich im übrigen nicht für wahrscheinlich halte. Es heißt ja nicht umsonst "Wissen ist Macht.".

            Erspar mir bitte weitere "Antworten" von Dir.

            Tja, damit hast du dir höchstwahrscheinlich jegliche Chance auf ein dir genehmes servieren der Antwort genommen. Viel Spaß noch.

            Tschö, Auge

            --
            Die deutschen Interessen werden am Liechtenstein verteidigt.
            Veranstaltungsdatenbank Vdb 0.2
            1. Wieso? Er hat recht. Einerseits hättest du das innerhalb der Stunde (bis zu deiner Antwort) wirklich lesen können und andererseits weißt du _nicht_ ob du es wirklich nur einmal brauchst, was ich im übrigen nicht für wahrscheinlich halte. Es heißt ja nicht umsonst "Wissen ist Macht.".

              Eigentlich hast Du "Auge" auch unrecht. Ich habe in der Zeit stressig und zuverlässig gearbeitet und hatte keine Zeit mich mit Manual zu befassen. Sonst würde ich das machen - ist klar(!)

              Einerseits!

              Andererseits lautete meine Frage NICHT "Wo finde ich eine Beschreibung oder Manual etc.?" sondern "Wie mache ich das?". Das ist eine konkrete Frage und bedarf auch eine konkrete Antwort.

              Mit "Wissen ist Macht" hast Du NUR vielleicht Recht. Denn, woher willst Du wissen, was wirklich "Wissen" ist? Du bist nach wie vor nicht weiter entwickelt, als dein Gehirn es dir gestattet.

              Viel Spaß beim Interpertieren.
              Und "vielen Dank" allen für die "aufschlussreiche Antworten".

              1. Hi!

                Ich habe in der Zeit stressig und zuverlässig gearbeitet und hatte keine Zeit mich mit Manual zu befassen.

                Womit dann?

                off:PP

                --
                "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    2. Hallo,

      Ich finde es eigentlich schade, dass man in gutem Forum keine klare Antwort bekommt. Ich werde mir doch Manual ansehen.

      Danke und schönes Verbleiben.
      Gruss Alexander.

  2. Hallo Alexander30,

    wie führe ich eine rekursive Suche unter Linux über SSH aus?

    sowas wie find -R *.php

    ich brauche auf jedenfall auch die Ausgabe von Änderungsdatum. Oder noch besser, wenn die Suche gleich nach Datum gefilter wird. Also alle PHP Dateien in allen Unterverzeichnissen ausgehen von X mit Änderungsdatum XXY.

    Die Antworten der anderen waren korrekt - in wenigen Minuten hättest du durch das Lesen des Manuals die Lösung selbst herausbekommen und dabei noch etwas gelernt.
    "man find" zeigt unter anderem, dass du eine Suche auf das aktuelle Verzeichnis nach allen Dateien mit ".php" am Ende so durchführst:

    find ./ -name "*.php"

    Wenn du jetzt noch das Änderungsdatum ausgeben lassen möchtest liegt ein Aufruf des Listing-Kommandos nahe (auch, wenn der -printf Parameter Ähnliches erreichen könnte), das für jede gefundene Datei aufgerufen wird:

    find ./ -name "*.php" -exec ls -al "{}" ;

    Für diese Lösung habe ich nun 5 Minuten gebraucht (inklusive Ausprobieren). Selbst bei 30 Minuten wäre das gut gewesen, da man hier lernt selbstständig aus Dokumentationen zu lernen.

    Grüße

    Marc Reichelt || http://www.marcreichelt.de/

    --
    panic("Oh boy, that early out of memory?");
            linux-2.2.16/arch/mips/mm/init.c
    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    1. Hallo Marc,

      danke für die Antwort. Mit der Suche bin ich schon klar gekommen. Leider immer noch nicht rekursiv. Aber das ist jetzt auch nicht mehr nötig. War gestern dringend notwendig.

      Danke nochmals ;-).

      Gruss Alexander.

      1. Hallo Alexander30,

        danke für die Antwort. Mit der Suche bin ich schon klar gekommen. Leider immer noch nicht rekursiv. Aber das ist jetzt auch nicht mehr nötig. War gestern dringend notwendig.

        Die Suche durchläuft standardmäßig alle Unterverzeichnisse - also gewissermaßen rekursiv.
        Ich glaube eher du hast die Anforderungen nicht richtig gestellt.

        Grüße

        Marc Reichelt || http://www.marcreichelt.de/

        --
        panic("Oh boy, that early out of memory?");
                linux-2.2.16/arch/mips/mm/init.c
        Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    2. Hi,

      Wenn du jetzt noch das Änderungsdatum ausgeben lassen möchtest liegt ein Aufruf des Listing-Kommandos nahe (auch, wenn der -printf Parameter Ähnliches erreichen könnte), das für jede gefundene Datei aufgerufen wird:

      find ./ -name "*.php" -exec ls -al "{}" ;

      Wenn man nach dem Änderungsdatum auch noch sortieren möchte kann man es so machen:
      find . -name *.php | xargs ls -rtl

      mfG,
      steckl

      1. Hallo,

        find ./ -name "*.php" -exec ls -al "{}" ;

        Hier wäre übrigens auch eine xargs-Lösung besser, weil find hier sonst für jeden (!) Eintrag ein ls -al ausführt, während xargs nur einen ls-Prozess startet (bzw. mehrere, wenn es extrem viele Dateien werden).

        Wenn man nach dem Änderungsdatum auch noch sortieren möchte kann man es so machen:
        find . -name *.php | xargs ls -rtl

        Dieses Konstrukt hat zwei Probleme:

        1. Wenn im aktuellen Verzeichnis .php-Dateien existieren, dann versagt es, weil *.php bereits von der Shell expandiert wird. Daher quoten: "*.php".

        2. Wenn ein Dateiname Leerzeichen enthält, dann fliegt das auch auf die Schnauze. Besser man nimmt 0-Bytes als Trenner (-print0 für find, -0 für xargs).

        Beides zusammen:

        find . -name "*.php" -print0 | xargs -0 ls -rtl

        Viele Grüße,
        Christian

  3. Sup!

    find * -name '*.php'
    find * | grep 'php$'

    etc.

    Gruesse,

    Bio