makefile mit rsync?

OP #5027724
Hallo zusammen,
ich brauche mal kurz Hilfe beim Erstellen eines Makefiles:

Ich möchte alle Dateien mit der Endung *uni aus einem Ordner rsyncen und 
die Files nachträglich von unicode (Endung uni) nach utf8 (Endung utf8) 
konvertieren. Später möchte ich weitere Aktionen auf den Files ausführen

Natürlich soll die codetranslation und die nachfolgendenen Operationen 
nur auf den geupdateten Files stattfinden.

Ich habe den rsync in ein separates shell-script ausgelagert, da hier 
komplexe Datei-Umbenennung stattfinden

bisher habe ich
1
RAWPATH=/mypath
2
UNIPATTERN=$(wildcard $RAWPATH/*.uni)
3
UTF8PATTERN=$(UNIPATTERN:.uni=.utf8)
4

5
all: download convert
6

7
convert: $(UTF8PATTERN)
8

9
download:
10
   ./download.sh
11

12
$(UTF8PATTERN): $(UNIPATTERN)
13
    mytranscommand -i $< -o $@

download geht, aber anscheinend wird UTF8PATTERN nicht richtig erzeugt
vieleicht kann mir jemand nen Tipp geben?

Danke
Schorsch

Nachtrag:
Es ist anscheinend nicht trivial eine Liste mit geupdateteten Files von 
rsync zu erhalten. Falls jemand weiß wie das geht, könnte ich eventuel 
sogar auf das Makefile verzichten
#5027836
Georg T. schrieb:
> Nachtrag:
> Es ist anscheinend nicht trivial eine Liste mit geupdateteten Files von
> rsync zu erhalten. Falls jemand weiß wie das geht, könnte ich eventuel
> sogar auf das Makefile verzichten

Was reicht dir am durch "--out-format=%n" produzierten Output nicht aus? 
Falls du auch Directories mit überträgst mußt du die noch ausfiltern 
(dank des trailing "/" trivial), aber ansonsten sollte das eigentlich 
exakt die benötigte Liste liefern.
OP #5027863
Ralf D. schrieb:
> Was reicht dir am durch "--out-format=%n" produzierten Output nicht aus?

Hallo,
ja damit habe ich auch schon angefangen rumzuspielen. Ich kann das 
leider erst morgen wieder ausprobieren...

wenn ich rsync -av foo bar mache, steht da gar kein Dateiname, sondern 
nur x bytes transfered etc. Mit --out-format hatte sich nichts dabei 
geändert.

Wie müsste denn deiner Meinung ein korrekter rsync befehl heißen, der 
eine liste erzeugt?

etwa:
1
rsync -<option> ${A}/*.uni ${B}/ | grep <something> >> mylog

thx
Georg
OP #5028170
Hallo,

der befehl mytranscommand wird im Makefile überhaupt nicht aufgerufen.

Allerdings habe ich gerade rsync mit der option --out-format=%n 
probiert, das scheint den richtigen output zu liefern, sofern man die 
verbose-option weglässt

Gruß und Danke, ihr habt mir sehr geholfen

Schorsch

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.