Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 13. Nov 2018 23:02

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 25. Okt 2006 20:31 
Moin moin!
ich versuche hier grade ein kleines script zu schreiben, das Dateien eines gegebenen Verzeichnisses anhand der Anzahl der enthaltenen Wörter vergleicht und sortiert!

da ich in diesem bereich noch ein anfänger bin, hab ich erst mal so versucht!
Zitat:
#!/bin/bash
wc -w $1 @ 2>/dev/null | egrep -i '*.[^txt]'| egrep -i '^*' | sort -r
es sollten also die text dateien filtriert werden und die ordner auch, sonst ausgabe aller dateien die eine endung haben(bsp: xxx.qwe)
sollte eigentlich in einer zeiler alles passen nichts kompliziertes dachte ich :)
kann mir einer evt. ein tipp geben


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 27. Okt 2006 7:33 
Offline
prolinux-forum-admin
Benutzeravatar

Registriert: 14. Jan 2000 15:37
Beiträge: 699
Wohnort: Jülich
Ich kann nicht behaupten, Deine Aufgabenstellung 100%ig verstanden zu haben, aber meine persönliche Lösung sähe so aus:
Code:
ls | grep '\.txt$' | xargs wc -w | sed -e '$d' | sort -rn
ls liefert die Dateiliste, grep fischt die Dateien mit Endung ".txt" heraus. xargs bastelt daraus ein wc-Kommando mit allen übriggebliebenen Dateinamen als Argument. Da wc aber als letzte Zeile immer noch die Gesamtsumme aller Wörter über alle Dateien ausgibt (und man bei wc leider nicht unterdrücken kann), löscht das sed-Kommando "$d" die letzte Zeile des wc-Outputs. Mittels sort werden die Zeilen dann sortiert, die numerisch (-n) größten Werte zuerst (-r).

Diese Lösung ist nicht nicht ganz wasserfest: Die Anzahl der Dateien im Verzeichnis darf zwar beliebig sein, aber Dateinamen mit Lehrzeichen im Namen sind ein Problem. Aber dass überlasse ich Dir zur Übung. :)

Trifft das soweit den Punkt, den Du meintest?

Jochen

_________________
Die grösste Lüge der EDV? "Mal eben..."


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de