Installierte Dateien
Hallo Leute, ich habe ein Problem mit der Ausgabe von dpkg --listfiles Paketname. Und zwar möchte ich nur die Dateinamen ohne die Pfadangabe lesen. Ein Beispiel: So war es bisher... # dpkg --listfiles mount /. /bin /bin/mount /bin/umount /sbin /sbin/swapon /sbin/losetup --Schnipp-- So soll es sein... # unbekannter Befehl mount umount swapon losetu --Schnipp-- -- 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: Installierte Dateien
On Wed, 05 Jul 2006 15:01:06 +0200 Goran [EMAIL PROTECTED] wrote: Hallo Leute, ich habe ein Problem mit der Ausgabe von dpkg --listfiles Paketname. Und zwar möchte ich nur die Dateinamen ohne die Pfadangabe lesen. Ein Beispiel: So war es bisher... # dpkg --listfiles mount /. /bin /bin/mount /bin/umount /sbin /sbin/swapon /sbin/losetup --Schnipp-- So soll es sein... # unbekannter Befehl mount umount swapon losetu --Schnipp-- Vielleicht: dpkg -L paket |xargs -n1 basename
Re: Installierte Dateien
Hallo, Goran wrote: ich habe ein Problem mit der Ausgabe von dpkg --listfiles Paketname. Und zwar möchte ich nur die Dateinamen ohne die Pfadangabe lesen. Ein Beispiel: basename ist dein Freund. So war es bisher... # dpkg --listfiles mount /. /bin /bin/mount /bin/umount /sbin /sbin/swapon /sbin/losetup --Schnipp-- So soll es sein... # unbekannter Befehl mount umount swapon losetu --Schnipp-- dpkg --listfiles mount | while read i; do if [ ! -d $i ] ; then basename $i; fi; done; HTH, Moritz -- Moritz Lenz http://moritz.faui2k3.org/ signature.asc Description: OpenPGP digital signature
Re: Installierte Dateien
Goran [EMAIL PROTECTED]: ich habe ein Problem mit der Ausgabe von dpkg --listfiles Paketname. Und zwar möchte ich nur die Dateinamen ohne die Pfadangabe lesen. Ein Beispiel: [...] dpkg -L mount | while read file ; do echo ${file##*/} ; done Gruss, Frank -- 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: Installierte Dateien
-Ursprüngliche Nachricht- Von: Goran [EMAIL PROTECTED] ich habe ein Problem mit der Ausgabe von dpkg --listfiles Paketname. Und zwar möchte ich nur die Dateinamen ohne die Pfadangabe lesen. Ein Beispiel: So war es bisher... # dpkg --listfiles mount /. /bin /bin/mount /bin/umount /sbin /sbin/swapon /sbin/losetup --Schnipp-- So soll es sein... # unbekannter Befehl mount umount swapon losetu --Schnipp-- Man könnte ein Shellskript verwenden, z.B. for i in $(dpkg --listfiles mount); do test -f $i basename $i; done Bernd Warken __ Erweitern Sie FreeMail zu einem noch leistungsstärkeren E-Mail-Postfach! Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
Re: Installierte Dateien
Frank Terbeck [EMAIL PROTECTED]: Goran [EMAIL PROTECTED]: ich habe ein Problem mit der Ausgabe von dpkg --listfiles Paketname. Und zwar möchte ich nur die Dateinamen ohne die Pfadangabe lesen. Ein Beispiel: [...] dpkg -L mount | while read file ; do echo ${file##*/} ; done Wobei das noch Verzeichnisse mit ausgibt, besser: dpkg -L mount | while read file ; do [ ! -d $file ] echo ${file##*/} ; done Gruss, Frank -- 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: Installierte Dateien
Goran [EMAIL PROTECTED] wrote: Hallo Leute, ich habe ein Problem mit der Ausgabe von dpkg --listfiles Paketname. Und zwar möchte ich nur die Dateinamen ohne die Pfadangabe lesen. Ein Beispiel: So war es bisher... # dpkg --listfiles mount /. /bin /bin/mount /bin/umount /sbin /sbin/swapon /sbin/losetup --Schnipp-- So soll es sein... # unbekannter Befehl $ for file in `dpkg --listfiles mount`; do basename $file; done oder $ dpkg --listfiles mount | sed -e '[EMAIL PROTECTED]/\(.*\)@\1@' (der sed- Befehl macht folgendes: [EMAIL PROTECTED]@...@ heisst ersetze das Muster zwischen den ersten beiden @@ durch den Text zwischen den letzten beiden. .* sind möglichst viele beliebige Zeichen, / ist ein /, \(...\) ist eine Gruppierung die wir später brauchen, darin wieder beliebig viele beliebige Zeichen. Das erste .* ist so gierieg dass es alle / bis auf den letzten mit auffrisst. Die Ersetzung enthält nur \1, das ist der Bezeichner für die erste (und hier einzige) Gruppierung im Suchmuster, also das nach dem letzten /. Gruß, Frank -- Frank Küster Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich Debian Developer (teTeX)
Re: Installierte Dateien
Danke an alle für die prompten Antworten. Ich habe mir die Vorschläge mal angeschaut und zusammengestellt um einen Überlick zu geben: 1. Vorschlag dpkg -L paket |xargs -n1 basename Leider liefert das Ergebnis auch die Verzeichnisse im Wurzelverzeichnis. Bsp.: dpkg -L mount |xargs -n1 basename . --- bin --- mount umount sbin--- [...] 2. Vorschlag dpkg --listfiles paket | while read i; do if [ ! -d $i ] ; then basename $i; fi; done; Das Ergebnis scheint korrekt zu sein. Bsp.: dpkg --listfiles mount | while read i; do if [ ! -d $i ] ; then basename $i; fi; done; mount umount swapon losetup [...] 3. Vorschlag for i in $(dpkg --listfiles paket); do test -f $i basename $i; done Das Ergebnis scheint korrekt zu sein. Bsp.: for i in $(dpkg --listfiles mount); do test -f $i basename $i; done mount umount swapon losetup 4. Vorschlag (korrigiert) dpkg -L paket | while read file ; do [ ! -d $file ] echo ${file##*/} ; done Das Ergebnis scheint korrekt zu sein. Bsp.: dpkg -L mount | while read file ; do [ ! -d $file ] echo ${file##*/} ; done mount umount swapon losetup -- 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: Installierte Dateien
Danke für das RegEx für sed aber wenn ich den Befehl eingebe erhalte ich auch die Verzeichnisse im Wurzelverzeichnis... dpkg --listfiles mount | sed -e '[EMAIL PROTECTED]/\(.*\)@\1@' . --- bin --- mount umount sbin--- $ for file in `dpkg --listfiles mount`; do basename $file; done oder $ dpkg --listfiles mount | sed -e '[EMAIL PROTECTED]/\(.*\)@\1@' (der sed- Befehl macht folgendes: [EMAIL PROTECTED]@...@ heisst ersetze das Muster zwischen den ersten beiden @@ durch den Text zwischen den letzten beiden. .* sind möglichst viele beliebige Zeichen, / ist ein /, \(...\) ist eine Gruppierung die wir später brauchen, darin wieder beliebig viele beliebige Zeichen. Das erste .* ist so gierieg dass es alle / bis auf den letzten mit auffrisst. Die Ersetzung enthält nur \1, das ist der Bezeichner für die erste (und hier einzige) Gruppierung im Suchmuster, also das nach dem letzten /. Gruß, Frank -- 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: Installierte Dateien
Am 05.07.06 schrieb Goran [EMAIL PROTECTED]: Hallo Leute, ich habe ein Problem mit der Ausgabe von dpkg --listfiles Paketname. Und zwar möchte ich nur die Dateinamen ohne die Pfadangabe lesen. Ein Beispiel: So war es bisher... # dpkg --listfiles mount /. /bin /bin/mount /bin/umount /sbin /sbin/swapon /sbin/losetup --Schnipp-- Diese Fragestellung schreit geradezu nach einer Lösung mit dem klassischen UNIX-Werkzeugkasten. Dieser enthält (mindestens) eine Shell, grep, awk, sed und ein paar weitere kleine spezialisierte Werkzeuge (Pakete mit diesem Zeugs enden oft auf utils und haben eine hohe Priorität wie findutils, coreutils, ...). Genau solche Lösungen wurden ja hier auch reichlich vorgeschlagen. Wenn Du ernsthaft mit irgendeinem UNIX-artigen System (das diesen Namen verdient) arbeiten willst, ist es m.E. eine gute Idee, die klassischen UNIX-Werkzeuge beherrschen zu lernen. Kann ich Dir aus eigener Erfahrung jedenfalls nur wärmstens empfehlen! Dirk