Re: (SOLVED) Re: Alle Dateiendungen finden
Hi Thorsten, Thorsten Hamester schrieb: Hallo Matthias Houdek und Liste, Natürlich in einer weiteren Pipe: ... | sort -u | unic -c dateiendungsliste.txt Kopfstand im Aschekasten, ja klar, an den befehl hab ich nicht mehr gedacht. Dennoch hat er mir immer noch folgenden Pfad zerlegt /pfad/pfad/Test/kav4samba-linux-5.0.4.0/kav4samba/ als Endung 0/kav4samba/bin aber die Datei /pfad/pfad//poi-bin-2.5.1-final-20040804.tar.gz hat er richtig zerlegt als gz Es hat sich zwar erledigt aber es würde mich doch interessieren wie sowas optimiert werden könnte. Die bash kann dir dabei auch schon helfen, siehe: http://www.tldp.org/LDP/abs/html/refcards.html#AEN18911 Table B-5. String Operations In der Anwendung heißt das: DATEI=Dateiname.tar.gz [EMAIL PROTECTED]:/tmp$ echo ${DATEI##*.} gz Jetzt muß man das nur noch mit dem find Befehl verquicken. Folgendes zeigt, dass die Dateien eingesetzt werden: find . -type f -exec echo '${{}##*.}' \; ${./iof.trs##*.} ${./fgwg.123##*.} ${./fdfgw.dfe##*.} Sobald man aber die einfache Hochkommatas entfernt, gibt es eine 'bad substitution'. Hier muß also noch ein wenig 'escaped' werden - weiß jemand wie genau? Grüße Thorsten -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: (SOLVED) Re: Alle Dateiendungen finden
Nochmal ich :) Thorsten Strusch schrieb: Hi Thorsten, Thorsten Hamester schrieb: Hallo Matthias Houdek und Liste, Natürlich in einer weiteren Pipe: ... | sort -u | unic -c dateiendungsliste.txt Kopfstand im Aschekasten, ja klar, an den befehl hab ich nicht mehr gedacht. Dennoch hat er mir immer noch folgenden Pfad zerlegt /pfad/pfad/Test/kav4samba-linux-5.0.4.0/kav4samba/ als Endung 0/kav4samba/bin aber die Datei /pfad/pfad//poi-bin-2.5.1-final-20040804.tar.gz hat er richtig zerlegt als gz Es hat sich zwar erledigt aber es würde mich doch interessieren wie sowas optimiert werden könnte. Die bash kann dir dabei auch schon helfen, siehe: http://www.tldp.org/LDP/abs/html/refcards.html#AEN18911 Table B-5. String Operations In der Anwendung heißt das: DATEI=Dateiname.tar.gz [EMAIL PROTECTED]:/tmp$ echo ${DATEI##*.} gz Jetzt muß man das nur noch mit dem find Befehl verquicken. Folgendes zeigt, dass die Dateien eingesetzt werden: find . -type f -exec echo '${{}##*.}' \; ${./iof.trs##*.} ${./fgwg.123##*.} ${./fdfgw.dfe##*.} Sobald man aber die einfache Hochkommatas entfernt, gibt es eine 'bad substitution'. Hier muß also noch ein wenig 'escaped' werden - weiß jemand wie genau? Über ein externes Programm funktioniert es: find . -type f -iname *\.* -exec /tmp/hilfsprogramm {} \; mit : ,---[ /tmp/hilfsprogramm ] | #!/bin/sh | echo ${1##*.} `/ Grüße Thorsten -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: (SOLVED) Re: Alle Dateiendungen finden
Hallo Matthias, Matthias Houdek [EMAIL PROTECTED] wrote: Hallo Thorsten Hamester, hallo auch an alle anderen ... | sort -u | unic -c dateiendungsliste.txt Wenn sort schon alle Dupplikate eliminiert, wird uniq immer nur eines zählen. Ich vermute, du willst sort kein -u mitgeben. Schöne Grüße, Jörg. -- Politics is for the moment, equations are forever -- Albert Einstein -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
(SOLVED) Re: Alle Dateiendungen finden
Hallo Christoph, Hallo Stefan, cut -d. -f 2, Das gibt so Probleme bei mehreren Punkten oder gar keinen Punkten: Stimmt, das gab wirklich Probleme Mithilfe von rev schnappt man sich wirklich die letzte Extension, und mit -s unterdrückt man die Ausgabe, wenn keine Trenner existieren. Danke für diesen Tip, hat super geklappt. Mit find /work1/ -type f -print | rev | cut -d. -f 1 -s | rev | sort -u Dateiliste.txt habe ich fast alle Dateiendungen (mit ein paar Ausnahmen) gefunden. Danke an alle die geholfen haben. -- Thorsten Hamester -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: (SOLVED) Re: Alle Dateiendungen finden
Hallo Thorsten Hamester, hallo auch an alle anderen Donnerstag, 17. August 2006 09:38 - Thorsten Hamester wrote: Danke für diesen Tip, hat super geklappt. Mit find /work1/ -type f -print | rev | cut -d. -f 1 -s | rev | sort -u Dateiliste.txt habe ich fast alle Dateiendungen (mit ein paar Ausnahmen) gefunden. Oups, welche Ausnahmen denn? Problematisch wären hier höchstens Dateien mit Punkt im Namen aber ohne Typ-Endung. Wobei dann IMHO bei Windows trotzdem das als Dateityp angesehen wird, was nach dem letzten Punkts steht. Vielleicht noch ein Tipp: Mit uniq nach dem sort -u lassen sich auch noch mehrfach auftretende Zeilen nur einmal anzeigen. Mit der Option -c wird noch mit angezeigt, wie oft die jeweilige Zeile (bzw. Dateiendung) auftritt. -- Gruß MaxX Bitte beachten: Diese Mailadresse nimmt nur Listenmails entgegen. Für PM bitte den Empfänger gegen den Namen in der Sig tauschen.
Re: (SOLVED) Re: Alle Dateiendungen finden
Hallo Matthias Houdek und Liste, Oups, welche Ausnahmen denn? Problematisch wären hier höchstens Dateien mit Punkt im Namen aber ohne Typ-Endung. Ja komische Dateinamen waren es, die er dann abgeschnitten hat und dann nochmal die Endung hingeschrieben hat. Bei 30 GB an Daten waren es aber nur ein paar wenige, nicht wirklich schlimm also. Vielleicht noch ein Tipp: Mit uniq nach dem sort -u lassen sich auch noch mehrfach auftretende Zeilen nur einmal anzeigen. Mit der Option -c wird noch mit angezeigt, wie oft die jeweilige Zeile (bzw. Dateiendung) auftritt. Meinst Du sort -u uniq -c? Da hat er gemeckert sort: Fehler beim Öffnen: uniq: Datei oder Verzeichnis nicht gefunden Mit freundlichen Grüssen -- Thorsten Hamester -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)
Re: (SOLVED) Re: Alle Dateiendungen finden
Hallo Thorsten Hamester, hallo auch an alle anderen Donnerstag, 17. August 2006 14:54 - Thorsten Hamester wrote: Hallo Matthias Houdek und Liste, Oups, welche Ausnahmen denn? Problematisch wären hier höchstens Dateien mit Punkt im Namen aber ohne Typ-Endung. Ja komische Dateinamen waren es, die er dann abgeschnitten hat und dann nochmal die Endung hingeschrieben hat. Bei 30 GB an Daten waren es aber nur ein paar wenige, nicht wirklich schlimm also. Vielleicht noch ein Tipp: Mit uniq nach dem sort -u lassen sich auch noch mehrfach auftretende Zeilen nur einmal anzeigen. Mit der Option -c wird noch mit angezeigt, wie oft die jeweilige Zeile (bzw. Dateiendung) auftritt. Meinst Du sort -u uniq -c? Da hat er gemeckert sort: Fehler beim Öffnen: uniq: Datei oder Verzeichnis nicht gefunden Natürlich in einer weiteren Pipe: ... | sort -u | unic -c dateiendungsliste.txt Viele Befehle schreiben ihr Ergebnis in die Standardausgabe (stdout). Normaler Weise erscheint das dann auf dem Bildschirm. Mit dem Pipesymbol | wird diese Ausgabe aber an den nächsten Befehl weitergegeben, der dann von der Standardeingabe (stdin) lesen können muss (was viele Befehle automatisch machen, wenn man nichts anderes angibt). Mit dem am Ende wird die Ausgabe des letzten Befehls in die nachfolgende Datei geschrieben, wobei ein eventueller Inhalt der Datei überschrieben wird. Mit würde an eine evtl. schon vorhandenen Datei angehängt werden. (vgl. auch 'man bash', Suchbegriffe: Pipelines, Redirecting Output) -- Gruß MaxX Bitte beachten: Diese Mailadresse nimmt nur Listenmails entgegen. Für PM bitte den Empfänger gegen den Namen in der Sig tauschen.
Re: (SOLVED) Re: Alle Dateiendungen finden
Hallo Matthias Houdek und Liste, Natürlich in einer weiteren Pipe: ... | sort -u | unic -c dateiendungsliste.txt Kopfstand im Aschekasten, ja klar, an den befehl hab ich nicht mehr gedacht. Dennoch hat er mir immer noch folgenden Pfad zerlegt /pfad/pfad/Test/kav4samba-linux-5.0.4.0/kav4samba/ als Endung 0/kav4samba/bin aber die Datei /pfad/pfad//poi-bin-2.5.1-final-20040804.tar.gz hat er richtig zerlegt als gz Es hat sich zwar erledigt aber es würde mich doch interessieren wie sowas optimiert werden könnte. Mit freundlichen Grüssen -- Thorsten Hamester -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)