Linux 15.010 Themen, 106.838 Beiträge

Kein Glück mit BeispielSkript aus der FAQ

Omega-X (Anonym) / 4 Antworten / Flachansicht 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) 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