2012-08-14 20 views
10

Film dosyalarının çok büyük bir dizin yapısına sahibim. Bu yapının analizi için tüm dizin yapısını, yani klasörleri ve dosyaları kopyalamak istiyorum ancak dosya isimlerini saklamak için tüm film dosyalarını kopyalamak istemiyorum. İdeal olarak, orijinal film dosya adıyla sıfır bayt dosyaları alırım.İçeriden dosya adları ile dizin yapısını kopyalama

Bağlantı dosyalarını almayan uzak makinem için rsync'i denedim.

Yazma komut dosyaları ile nasıl yapılacağı hakkında herhangi bir fikrin var mı? ubuntu üzerinde

cevap

12

seni bulmak kullanabilirsiniz.

dest/src/<file-structre> 

Kullanıcı mv yaratıcı Bu sorunu çözmek için olabilir:

Bu sonuçlanacaktır.


Diğer (kısmi) çözüm rsync ile elde edilebilir:

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

burada hile (!) bir dizin (*/)

değil --filter=RULE seçenek dışlayan ( -) her şeydir
8

deneyebileceğiniz:

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

Bu dosya verilerini kopyalamaz. cp

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

Not manpage itibaren : Emin değilim kimse cevap güncelleyin onaylayabilirse, diğer dağılımlar için kullanılabilir bu seçeneği kullanın.

+0

Cevap Rohan için teşekkürler, maalesef Netgear'ın ReadyNAS'ımdaki Debian bu seçeneği bilmeyecek :( –

+0

Bu OS X'de çalışmaz, herkes en iyi çözüm? – spinningarrow

+0

normal linux üzerinde bunu yapmak için! – Enerccio

-2

ls> listOfMovie.txt; Filmlerinizin listesini bir .txt dosyasında bulabilirsiniz. Birden çok dizin için man sayfasını görürsünüz. dosyaları (-f) ve dest/ altında touch onları bulmak

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

Bul dizin (-d) (src/) altında ve dest/ ya da (-o) altında (mkdir -p) oluşturun:

İlgili konular