Wie lautet die Syntax der Spiegel -x (ausschließen) -Option von lftp?


7

Ich möchte ein Verzeichnis mit spiegeln, lftpaber bestimmte Unterverzeichnisse ausschließen.

Ich habe es versucht

mirror -R -e -x ^\.svn$ /documents/ /test

und

mirror -R -e -x /^\.svn$/ /documents/ /test

aber keiner von ihnen schloss die .svn- Verzeichnisse aus.

Antworten:


8

mirror -R -e -x ^\.svn$ /documents/ /test ist in Ordnung.

Der Trick ist, dass .svn ein Verzeichnis ist, dem nur ein Muster entspricht, das mit einem Schrägstrich endet:

mirror -R -e -x ^\.svn/$ /documents/ /test


2

Aus meinen Experimenten geht hervor, dass die Einschluss- und Ausschlussmuster mit dem gesamten Pfad ohne anfängliches / aber mit einem nachgestellten / für ein Verzeichnis übereinstimmen.

Wenn Sie also versuchen, einen Verzeichnisnamen wie .svn zu finden, der auf einer beliebigen Ebene im Baum vorkommen kann, benötigen Sie diese RE:

(^\|/).svn/

Die ^ Alternative entspricht .svn auf der obersten Ebene und die / Alternative entspricht jeder Ebene darunter.

Die | Der Charakter ist für lftp von Bedeutung und muss geschwappt werden.


1

Ich benutze

--exclude /\..+/$

um alle Ordner auszuschließen, die mit einem Punkt beginnen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.