Dosya içeriği olmayan dosyaları ve dizinleri kopyalayın

18

Dizin yapısını dosyalarla, ancak içeriği olmadan kopyalamanın bir yolu var. Demek istediğim, dosya adlarıyla aynı dizinleri istiyorum ama boş / boş bırakıyorum. Bazı programlama dillerinde birkaç örnek uygulama var ve bunları kendi tarzımla yeniden yazmak istiyorum, ancak dosyalarda organize edilmelerini sağladım.

Herhangi bir yardım için minnettar olurum.

    
sordu dagi12 15.05.2015 18:05

2 cevap

36

man cp

'den
  

- niteliklerini okunur                 dosya verilerini kopyalamayın, sadece özellikleri

Yani, somedirectory olan tüm klasörleri ve dosyaları kopyalamak istiyorsanız

cp -R --attributes-only somedirectory destinationdirectory

yap     
verilen cevap Sergiy Kolodyazhnyy 15.05.2015 18:12
10

Ubuntu cp 'inin bu özelliğe sahip olması çok hoş, ancak kendinizi bulamadığınız bir makinede bulmanız gerekiyorsa (BSD stili cp değil, örneğin OS X de öyle değil) find ile yapmak. Burada iki liner (okunabilirlik için):

% cd original_dir
% find . -type d -exec mkdir -p ../copy_dir/{} \;
% find . -type f -exec touch ../copy_dir/{} \;

copy_dir öğesi zaten mevcutsa, -p 'si, dizin ağacının aşağıya doğru kaydırılacağından mkdir argümanını find ' ye atlayabilirsiniz. Büyük işler için, + 'iniz destekliyorsa \; yerine find komutu ile komutları sonlandırarak bir milisaniye veya başka bir işlem yapabilirsiniz.

Düzenleme: Yukarıdaki kodlar, find 'lık üçüncü bir kopya ile kopyalanabilen sembolik bağları işlemek için ihmal edilir ( bunu yapmaz + ile bunu sonlandırır ):

% find . -type l -exec cp -R {} ../copy_dir/{} \;
    
verilen cevap alexis 15.05.2015 23:14

Etiketlerdeki diğer soruları oku