Dosyaları A klasöründen B klasörüne bash içeren Metin C Dosyasına göre kopyalayın


0

Dosyaları Klasör A'dan Klasör B'ye bash ile Metin Dosyası C'ye göre nasıl kopyalarım?

  • klasörA: yalnızca görüntü dosyaları olan kaynak klasör, ör. image01.png, image02.png vb. Resim adlarında boşluk yoktur, yalnızca kısa çizgi veya alt çizgi bulunur.
  • folderB: içinde hiçbir şey olmayan hedef klasör.
  • C.txt: UTF16 kodlu bir ham metin dosyasıdır, metin dosyasının içinde folderA'dan kopyalamak istediğim dosya adlarını saklar ve bu dosya adları satır satır

    image01.png
    image02.png
    image04.png
    

Özel yollar

  • ~/Documents/C.txt
  • ~/Documents/folderA/
  • ~/Documents/folderB/

3
Ne demek "C metin dosyasına dayalı"? Bunun nasıl çalışmasını beklediğinize bir örnek verebilir misiniz?
— Allan

1
Bir çözüm bulduğuna sevindim ama çözüm soruna uymuyor - "Dosya adlarını içeren bir metin dosyasına göre dosyaları bir dizinden diğerine nasıl kopyalarım?"
— fd0

Ben öyle düşünmüyorum fd0, tam olarak şunu yapıyorum: Dizini A klasörüne değiştirdim, sonra 'cp argument1 argument2' ifadesini kullandım; burada argüman 1, istediğim ve bir boşlukla ayrılmış bir dosya adları zinciri; argument2, hedefdir. Konuşmak gerçek değil, yerel sunucunuzda test edin.
— gcplau

Lütfen soruya cevap eklemeyin, yerine cevap olarak yazın. Ayrıca, biçimlendirmenin doğru olduğundan emin olmak ve nasıl kullandığınızı göstermek için de yardımcı olabilir. C.txt senin çözümünde.
— nohillside

Yanıtlar:


2

C dosyanızın, kopyalanacak dosya adlarının bir listesini içerdiğini varsayarsak:

A="~/Documents/folderA"
B="~/Documents/folderB"
while IFS= read -r file; do
    cp "${A}/${file}" "${B}/"
done < ~/Documents/c.txt

hile yapmalı.


cd ~ / direktörü değiştirmek için cp (şimdi buraya dosya adlarının zincirini yapıştırın) (sonra bir boşluk yazın) sonra hedef klasör yolunuzu / adınızı yazın (geri dönüş)
— gcplau

bu link yeni başlayanlara yardımcı olacaktır: openclassrooms.com/en/courses/...
— gcplau

Birçok kez denedim, bu senaryo benim için çalışmıyor.
— gcplau

@gcplau Tam olarak ne çalışmıyor?
— nohillside
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.