Anzeige:
Ergebnis 1 bis 4 von 4

Thema: "find" und "grep" aber wie

  1. #1
    Flatbury12
    Gast

    "find" und "grep" aber wie

    Hallo,

    ich sitze schon den ganzen Abend an einer bestimmten "grep-Commandozeile"

    Ich würde gerne die Anzahl der Dateien eines Verzeichnisses anzeigen lassen um sie dann später in eine Datei zu speichern.

    find /home/bla | grep -cE *\.[[:alnum:]]{3}

    soweit gehts....aber jetzt würde ich noch zusätzlich manche Dateiendungen (zb. *.gz und *.tar) ausschliessen aus der Zählung.

    kann mir evtl jemand helfen?

    Vielen Dank

  2. #2
    Freidenker Avatar von suck
    Registriert seit
    Nov 2004
    Ort
    Abgrund + 1 Schritt
    Beiträge
    2.433
    Zitat Zitat von Flatbury12
    Ich würde gerne die Anzahl der Dateien eines Verzeichnisses anzeigen lassen um sie dann später in eine Datei zu speichern.
    Der Aufruf
    Code:
    find /home/bla | grep -c "/"
    reicht um dies zu zu bewerkstelligen (...ist wie dein Beispiel - das ja scheinbar schon passabel funktioniert - aber auch rekursiv und beinhaltet ebenfalls auch Verzeichnisse und nicht nur Dateien im eigentlichem Sinne - das letztere kann man mit "find"'s "-type f" Option umgehen, das erstere mit einer anderen Option). Um bestimmte Dateien auszuschliessen würde ich "find" statt "grep" nutzen (es geht aber auch mit "grep"). "find" bietet Operatoren wie "-and", "-or" und jeweils noch eine Negation, welche mit "-not" definiert wird. Um via "find" alle "*.gz" Dateien rauszufiltern, könnte dein Aufruf z.B. auf folgendem "find" besieren:
    Code:
    find /home/bla -name "*" -and -not -name "*.gz"
    Geändert von suck (21.04.06 um 01:44 Uhr)
    int main(){while(alive()){tik();tak();}return 0;}

  3. #3
    Freidenker Avatar von suck
    Registriert seit
    Nov 2004
    Ort
    Abgrund + 1 Schritt
    Beiträge
    2.433
    EDIT: Noch nen Beispiel (Anzahl aller normale Dateien unterhalb von /home/bla - "*.gz" und "*.tar" werden nicht mitgezählt):
    Code:
    find /home/bla -name "*" -and -not -name "*.gz" -and -not -name "*.tar" -and -type f | grep -c "/"
    Geändert von suck (21.04.06 um 01:54 Uhr)
    int main(){while(alive()){tik();tak();}return 0;}

  4. #4
    Flachinformatiker Avatar von MiGo
    Registriert seit
    Oct 2002
    Ort
    Heidelberg
    Beiträge
    5.270
    Nur die Dateien eines Verzeichnisses?
    ls Verzeichnis |grep -v "tar.gz" |grep -v ".gz" > Dateiliste.txt
    "Da steht sowas ähnliches wie" oder "das funzt net!!" ist keine Fehlermeldung!

Ähnliche Themen

  1. findutils: "find" -- Problem mit "-mtime" und Unterverzeichnissen
    Von drunkenPenguin im Forum Linux Allgemein
    Antworten: 1
    Letzter Beitrag: 30.03.06, 15:30
  2. Frage zu "find"
    Von HakBak im Forum Anwendungen Allgemein, Software
    Antworten: 1
    Letzter Beitrag: 02.01.06, 13:16
  3. Frage zu "grep"
    Von netmaster im Forum Anwendungen Allgemein, Software
    Antworten: 4
    Letzter Beitrag: 17.10.04, 17:36
  4. Mehrere Suchbegriffe mit "grep"
    Von ullifichte im Forum Anwendungen Allgemein, Software
    Antworten: 8
    Letzter Beitrag: 17.10.02, 17:36
  5. fragen zu "find"
    Von CboyGeek im Forum Linux Allgemein
    Antworten: 3
    Letzter Beitrag: 21.04.02, 16:24

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •