Frage zu Befehl find

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Frage zu Befehl find

    Hallo,

    als relativer Linux-Neuling habe ich nachfolgende Frage:

    mit nachfolgenden Befehlen finde ich alle Dateien mit der Endung .php im aktuellen Verzeichnis und allen Unterverzeichnissen in welchen die Zeichenkette server vorkommt.

    find -name '*.php' -type f exec grep server {} \; -print

    Nun möchte ich aber alle Dateien nicht nur mit der Endung .php sondern auch noch mit den Endungen php3, html, inc.

    ich habe folgendes versucht:
    find -name '*.php' | '*.html' | '*.inc' -type f exec grep server {} \; -print

    was jedoch nicht funktioniert, andere Möglichkeiten habe ich auch noch ausprobiert, aber alle scheiterten, weiß da jemand weiter?

  • #2
    find -name \*.php -o -name \*.php3 -o -name \*.html -o -name \*.inc

    Kommentar


    • #3
      Hallo asp2php,

      danke für dein Antwort. Wenn ich diesen nachfolgenden Befehl schreibe, dann bekomme ich alle php, php3 und inc-Dateien:

      find -name \*.php -o -name \*.php3 -o -name \*.html -o -name \*.inc



      jedoch wenn ich
      find -name \*.php -o -name \*.php3 -o -name \*.html -o -name \*.inc -exec grep server {} \; -print

      schreibe, dann findet er nur die inc-Dateien mit 'server' als Inhalt.

      Ich gehe davon aus, daß sich der command exec nur auf -name \*.inc bezieht. Wie erreiche ich nun dass sich exec auf alle -name bezieht. Im man steht eine Trennung mit ; . Ich habe es auch mal php-mäßig versucht, daß ich alle name in ' ...' schreibe, aber hat leider nicht funktioniert. Vielleicht weißt du hier noch einen Tip.

      Kommentar


      • #4
        wie wär's mit:
        man find
        was anderes mache ich ja auch nicht

        Kommentar


        • #5
          ......Im man steht eine Trennung mit ; . ....

          mit 'man' habe ich 'man find' gemeint, nur gelingt es mir hieraus (noch) nicht eine Lösung für dieses Problem zu erhalten, da ich mit noch nicht solange mit Linux beschäftige. Jemand der sich schon länger damit beschäftigt, tut sich da sicherlich etwas leichter, deshalb habe ich hier mein Problem gepostet.

          Kommentar


          • #6
            bei mir ist erst 6 Wochen her

            OK nach Try 'n Error (was du eigentlich auch machen solltest ):

            find -name \*.php -exec grep server {} \; -o -name \*.php3 -exec grep server {} \; -o -name \*.html -exec grep server {} \; -o -name \*.inc -exec grep server {} \;

            Kommentar


            • #7
              jetzt gehts,

              war eigentlich gar nicht so weit entfernt, habe das ; an falscher Position gesetzt.
              OK nach Try 'n Error
              was meinst du damit? eine Fehlermeldung ausgeben lassen?
              Unter dem Begriff error find ich nichts.

              Kommentar


              • #8
                Original geschrieben von Ralf
                jetzt gehts,

                war eigentlich gar nicht so weit entfernt, habe das ; an falscher Position gesetzt.

                was meinst du damit? eine Fehlermeldung ausgeben lassen?
                Unter dem Begriff error find ich nichts.
                du sollst das nicht eingeben, du sollst das so machen!
                ein meint damit:
                selber mal die sachen ausprobieren und schauen, was passiert

                Kommentar

                Lädt...
                X