c't 20/10
for i in QUELLE/* ; do [ -e "ZIEL/`basename $i`" ] ||
cp "$i" ZIEL/ ; done
QUELLE und ZIEL müssen Sie durch Quell- und Zielverzeichnis ersetzen. Das Skript iteriert über alle Dateien im Quellverzeichnis (for i in QUELLE/*), prüft für jede Datei, ob sie im Zielverzeichnis existiert ([ -e ZIEL/’basename $i’ ]) und führt die Kopieraktion aufgrund der logischen Oder-Verknüpfung (||) nur dann aus, wenn dieser Test fehlschlägt, die Datei also noch nicht im Zielverzeichnis liegt.QUELLE und ZIEL durch Variablen ersetzen, denen man zu Beginn des Skripts die an das Skript übergebenen Argumente zuweist:#!/bin/sh
[ -z $2 ] && echo Aufruf $0 quelle ziel && exit
Q=$1
Z=$2
for i in ${Q}/* ; do [ -e "${Z}/`basename $i`" ] ||
cp "$i" ${Z}/ ; done
Version zum Drucken | Per E-Mail versenden | Heft bestellen
Permalink: http://heise.de/-1072795
Das aktuelle Heft ist jetzt im Handel erhältlich.
Ältere Artikel können Sie über unser Zeitschriften-Archiv bestellen.