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.