Eine Frage direkt anhand eines Beispiels: in einem Test-Verzeichnis (mit Unterverzeichnissen) sind 5 gif-Grafiken, von denen 3 in html-Dateien verlinkt sind, die anderen 2 aber nicht. Was ich aufspüren möchte sind eben die letzteren 2 nicht verlinkten.
Was ich bis jetzt habe ist folgendes:
Code: Alles auswählen
#!/bin/bash
for i in /home/user/test `find -type f -name *.gif`; do
echo $i
x=`basename $i`
find /home/user/test -name "*.html" -type f -exec grep -il "$x" {} \;
echo "-------------"
done
Die Ausgabe sieht so aus:
Code: Alles auswählen
./nochtest/schueler.gif
/Pfad/test/nochtest/auchnochtest/seite2.html
-------------
./nochtest/chronik.gif
/Pfad/test/nochtest/index.html
-------------
./nochtest/quatsch.gif
-------------
./nochtest/info_icon.gif
/Pfad/test/nochtest/index.html
/Pfad/test/nochtest/auchnochtest/seite2.html
-------------
./nochtest/unfug.gif
-------------
gif-Datei enthält. Nur die nicht mehr in html-Dateien verlinkten gif`s (hier quatsch.gif und unfug.gif)
sind lediglich oberhalb und unterhalb mit "--------" eingerahmt.
Ursprünglich wollte ich den Rückgabestatus von "find" auswerten. Der lautet aber 0, ob find nun in den
html-Dateien gif`s findet oder nicht. Ist ja eigentlich auch klar - der Befehl wird ja sauber durchgeführt,
auch wenn nix gefunden wird.
Jetzt muß ich wahrscheinlich eine regex basteln, die die Ausgabe filtert. Meine Frage: gibt`s da nicht
andere und vor allem einfachere Möglichkeiten ?
Gruß M.