Linux 15.068 Themen, 107.492 Beiträge

Kein Glück mit BeispielSkript aus der FAQ

Omega-X (Anonym) / 4 Antworten / Baumansicht Nickles

Ja leider, ich wollte das Skript aus der FAQ

"Dateien in RPM Paketen finden."

nutzen, um eeeendich mal auf einfache Art das richtige Paket zu einem gesuchten Prog finden zu können. Das Skript arbeitet prima, es lässt sich auch gut ergänzen, zB. das CD-ROM mounten und dann wieder umounten. Auch kann der StandardPath gleich mitgegeben werden...

Das Skript läuft durch,, die CD wird durchsucht, ich lande wieder auf der Kommandozeile. Keine Ausgabe. Aber kedit oder andere files, von denen ich genau weiss, dass sie vorhanden sind, sollten doch gefunden werden können. NULL Treffer. Schade.

Was mach ich falsch?

Hier das Skript:

------------------------------

#!/bin/sh

echo "suche in $1"
echo "suche nach $2"

find $1 -type f -name "*.rpm" | while read i ; do
rpm -qpl $i | grep -q \'$2\' && echo $i
done

------------------------------

Omega-X

bei Antwort benachrichtigen
Anonym Omega-X (Anonym) „Kein Glück mit BeispielSkript aus der FAQ“
Optionen

Kann es sein, daß es einfach nur ein groß-/kleinschreibungs Problem
ist ? (Der grep durchsucht die Dateiliste ohne "-i")

mfg. j. - www.obira.de

bei Antwort benachrichtigen
(Anonym) Anonym „Kann es sein, daß es einfach nur ein groß-/kleinschreibungs Problem ist ? Der...“
Optionen

Dank Dir @jay für die rasche Antwort. In der Tat, die grep-Option -i hätte jetzt den Durchbruch bringen sollen. Das Skript ist gut nachvollziehbar, kann mir nicht vorstellen, wo da ein Fehler sein soll. Es sei denn, grep ignoriert den FileHeader und liest nur die Inhalts-Texte. Hab leider mit grep bisher nicht gearbeitet. Hab auf jeden Fall mal den Pfad direkt auf ../RedHat/RPMS gelegt. Dann kann das Ziel nicht mehr in einem Unterverzeichnis liegen. Das sollte auch die Suche beschleunigen.

Noch eine Idee? Wär zu schade, wenn das Ziel wieder nicht erreicht wird. Wir haben schon in anderen Foren über dieses Thema geknobelt. Natürlich frag ich erst bei Euch, weil ich den *leckeren* Skript ja bei Euch entdeckt hab. Sollte eigentlich keine so schwere Aufgabe sein, aber wenn's gar nicht will, geh ich auch mal an ein spezielles Skriptforum. Die arbeiten ja ständig mit solchen Tüfteleien.

Omega-X

bei Antwort benachrichtigen
Anonym (Anonym) „Dank Dir @jay für die rasche Antwort. In der Tat, die grep-Option -i hätte...“
Optionen

Lass doch mal das grep weg, und kontrolliere, ob die Ausgabe von
rpm überhaupt korrekt ist.

mfg. j.

bei Antwort benachrichtigen
Omega-X (Anonym) Anonym „Lass doch mal das grep weg, und kontrolliere, ob die Ausgabe von rpm überhaupt...“
Optionen

Wenn ich grep rausnehm, listet rpm alle Pakete im Verzeichnis auf. Hab noch weiter mit grep expirimentiert. Auch verschiedene Textworte. Sobald ich grep mitspielen lass, bekomm ich keine Ausgabe mehr, egal, welche Parameter ich mitgeb. Und das versteh ich nicht. Irgendeine Ausgabe sollte doch erreichbar sein.

Omega-X

bei Antwort benachrichtigen