Samstag, 22. November 2008

wget, find und Bash ausgereizt

Um eine lokale Kopie der auf Terrific messages on girls’ T-shirt geposteten Photos zu erstellen, musste zwei Hürden übersprungen werden:

wget

$ wget --page-requisites "http://35mm.instantfundas.com/2008/11/terrific-messages-on-girls-t-shirt.html"

holte nur diejenigen Dateien, die auf dem lokalen Server abgelegt waren. Da die Photos bei ggpht.com gehostet wurden, kamen sie beim ersten Versuch nicht mit. Abhilfe schaffte folgender Befehl:

$ wget --span-hosts --page-requisites "http://35mm.instantfundas.com/2008/11/terrific-messages-on-girls-t-shirt.html"

find

Da ich vergessen hatte, wget mit der Option -nd („no directories“) aufzurufen, waren die Bilder nun über unzählige Ordner verstreut. Hier half find:

$ find . -name *tshirt* -exec mv '{}' '/Users/mario/Desktop/backup/' ';'

for-Schleife mit Bash

Sogleich folgte das nächste Problem: Die Dateinamen der Bilder waren nicht brauchbar: girls-tshirt (3)_thumb[1].jpg?imgmax=800 Mit Doppelklick wurde nicht automatisch Apples Preview geladen. Was nun? Bash hilft:

$ for i in *jpg*; do mv $i $i.jpg; done;

Ein einziges Bild wurde nicht umbenannt, weil es im PNG-Format daherkam. Hier war ich zu faul und benannte es von Hand um …

Liked this post? Follow this blog to get more. 

Tags:
Labels: Linux

Kommentar erfassen