Zitat von
BetterWorld
Es ist wesentlich sinnvoller Beispieldaten zu posten und das gewünschte Ergebnis exakt zu beschreiben.
OK, die Beispieldaten:
Ich habe ein Verzeichnis mit den aktuellen Bildern.
Code:
find ./ -name *.png > liste
liste:
Code:
/media/image/product/lebensmittelfarbstift-orange.png
/media/image/product/taufkerze-mit-spirale-rosa.png
/media/image/product/keksausstecher-schwein.png
dann gibt es die liste mit den alten Dateinamen: gif
Code:
/images/lebensmittelfarbstifte8ersetduennedickespitze_200.gif
/images/lebensmittelfarbstifte8ersetduennedickespitze_92.gif
/images/lebensmittelfarbstiftorange_92.gif
/images/lebensmittelfarbstiftrosamitdoppelspitze_92.gif
/images/lebensmittelfarbstiftrotmitduennerunddickerspi_92.gif
...
Ziel ist es aus den aktuellen Bilder ( Datei liste ) den "alten" Dateinamen zu finden.
Dann eine htaccess zu erstellen.
htaccess
Code:
Redirect 301 /imgages/altesbild_92.gif /media/image/product/neues-bild.png
Soweit habe ich alles hinbekommen.
D.h:
Code:
while read line; do
#bild name filtern
letzte=`echo $line | rev | cut -d'/' -f 1 | rev`
# versuche das bild mit den ersten 4 punkten zu finden
suche=`echo $letzte | cut -d - -f 1-4 | sed "s/-//g"`
# suche in den Datei mit den alten namen
a=$(grep $suche gif)
# wenn was gefunden wird erstelle eine htaccess
# $gefunden - der alte dateinane
# $line - der neue dateiname
# echo "Redirect 301 $gefunden $line " >> htaccess
done < liste3
Wie bekomme ich mit grep oder sonstigen die gefunde Zeile in die htaccess?
Lesezeichen