Öğeyi Üst Klasörden Alt Klasörüne Taşıma


-2

Birinin bana bir dosyayı / dosyaları bir ana klasörden alt klasörüne taşıyacak bir komut dosyasında yardımcı olup olmadığını merak ediyordum. Bu kadar. Dosyaları üst klasörlerine taşıyacak komut dosyaları gördüm, ancak bu dosyaları bir diskten aşağı taşıyacak hiçbir şey görmedim. Mümkün mü?


Alt klasör öngörülebilir bir ad mı yoksa temelde rasgele değişebilir mi?
tubedogg 13:16

Alt klasör hep aynı isim olduğunu ve Finder bir klasör içinde bulunduğu
rcktship

Yanıtlar:


1

Neden karmaşıklaşıyorsun?

cd /Users/admin/Desktop/test &&
mkdir -p Archive &&
find . -maxdepth 1 -type f -exec mv -nv {} Archive \;

Artıları:

  • Boşlukları, özel karakterleri ve hatta dosya adlarındaki yeni satırları doğru şekilde işler.
  • testDizine ulaşamazsa çıkar .
  • Eğer çıkar Archivedizin yok ve oluşturulamaz.
  • Hangi dosyaları taşıdığını gösterir.
  • Aynı ada sahip mevcut dosyaların üzerine yazılmaz.
  • Aslına bakarsanız, bir astar, sadece okunabilirlik için ayrılmış:

    cd /Users/admin/Desktop/test && mkdir -p Archive && find . -maxdepth 1 -type f -exec mv -nv {} Archive \;

-2

Mükemmel değil ama aşağıdakiler çoğunlukla işe yarayacak. Varsayımlar:

• Kaynak dizin / Users / admin / Desktop / test (düzenlenebilir)

• İç içe hedef dizini Arşivle

#!/bin/bash

oldIFS=$IFS
IFS=$(/bin/echo -en "\n\b")

dir="/Users/admin/Desktop/test"

if [ -d $dir/Archive ] ; then
    for FILE in `/bin/ls $dir | /usr/bin/grep -v Archive` ; do
        /bin/echo "Moving $FILE"
        /bin/mv $dir/$FILE $dir/Archive/$FILE
    done
    else
        /bin/echo "Folder $dir/Archive does not exist"
fi

IFS=$oldIFS

Adında "Arşiv" yazan başka dosyalarınız varsa bunların da atlanacağını unutmayın. Eminim daha iyi bir yol vardır.


1. Ayrıştırma ls. Sadece asla yapma. 2. Kabuk değişkenlerinizi alıntılayın. 3. özellikle kaçış dizileri kullanmanız gerektiğinden printfdaha iyidirecho .
Wildcard

VAOV! Hepinize teşekkürler! Bugün bunlarla çalışacağım ve nasıl gittiğini göreceğim!
rcktship

lol- Gidecek çok yolum var .. İpuçları için teşekkürler!
MacManager
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.