2012-08-14 10 views
10

Ich habe eine riesige Verzeichnisstruktur von Filmdateien. Zur Analyse dieser Struktur möchte ich die gesamte Verzeichnisstruktur kopieren, d. H. Ordner und Dateien, aber ich möchte nicht alle Filmdateien kopieren, während ich die Dateinamen beibehalten möchte. Im Idealfall erhalte ich Null-Byte-Dateien mit dem ursprünglichen Filmdateinamen.Kopieren Sie eine Verzeichnisstruktur mit Dateinamen ohne Inhalt

Ich habe versucht, und dann rsync zu meinem Remote-Computer, der nicht die Link-Dateien abrufen.

Irgendwelche Ideen wie das zu tun, ohne Skripte schreiben?

Antwort

12

finden Sie verwenden:

find src/ -type d -exec mkdir -p dest/{} \; \ 
     -o -type f -exec touch dest/{} \; 

Suche Verzeichnis (-d) unter (src/) und erstellen (mkdir -p), um sie unter dest/ oder (-o)-Dateien (-f) und touch sie unter dest/.

in Dies wird zur Folge haben:

dest/src/<file-structre> 

Sie Benutzer kann mv kreativ um dieses Problem zu lösen.


Andere (Teil-) Lösung kann mit rsync erreicht werden:

rsync -a --filter="-! */" sorce_dir/ target_dir/ 

Der Trick hier ist das --filter=RULE Option, die ausschließt (-) alles, was nicht (!) ein Verzeichnis (*/)

ist
8

auf Ubuntu können Sie versuchen:

cp -r --attributes-only <source_dir> <target_dir> 

Es Dateidaten nicht kopiert werden. Von manpage von cp

--attributes-only 
      don't copy the file data, just the attributes 

Hinweis: Ich bin nicht sicher, ob diese Option verfügbar für andere Distributionen, wenn jemand die Antwort aktualisieren bestätigen bitte.

+0

Danke für die Antwort Rohan, leider mein Debian auf Netgear ReadyNAS wird diese Option nicht kennen :( –

+0

Dies funktioniert nicht in OS X, weiß jemand von einer Lösung, die? – spinningarrow

+0

am besten Möglichkeit, es auf normalem Linux zu tun! – Enerccio

-2

ls> listOfMovie.txt; Sie erhalten die Liste Ihrer Filme in einer .txt-Datei . Für mehrere Verzeichnisse finden Sie die man-Seite.