Aptal sabırsızlık, bir grup video dosyasını önek içeren klasörlere taşımak için 19.04 sunucumda şu komut dosyasını kullandı:
dirs=(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z)
shopt -s nocasematch
for file in *
do
for dir in "${dirs[@]}"
do
if [ -d "$file" ]; then
echo 'this is a dir, skipping'
break
else
if [[ $file =~ ^[$dir] ]]; then
echo "----> $file moves into -> $dir <----"
mv "$file" "$dir"
break
fi
fi
done
done
Yanlış gittiğine dair hiçbir ipucu yok, ancak dosyaları klasörlere taşımak yerine tekil bir çıktıya gitti.
----> a1.ts moves into -> A <----
----> a2.ts moves into -> A <----
----> a3.ts moves into -> A <----
----> a4.ts moves into -> A <----
----> a5.ts moves into -> A <----
----> c1.ts moves into -> C <----
----> c2.ts moves into -> C <----
----> c3.ts moves into -> C <----
----> c4.ts moves into -> C <----
----> c5.ts moves into -> C <----
Neyse ki amaçlandığı gibi gitmediğini fark etmediğim sürece tüm işlemi (CTRL + C) durdurdum ve tüm klasöre gitmedim.
Şimdi bu dosyaları aldım Ave Cbir Gb'den daha az ve görünüşe göre TEK bir video.
Klasörün kendisinin toplam disk kullanımında hesaba katılmayan 50Gb var, ancak bilgisayarın genel disk alanı aynı kaldı. Bana dosyaların silinmediğini mi düşünüyorsun?
Herhangi bir yardım takdir, teşekkürler :)
Düzenleme: dosyalar aslında gitti, sadece son dosya yazılacak kalır, tüm gereken disk kullanım bilgileri güncellemek için biraz zaman oldu .. hikayenin ahlaki, önce sahte dosyaları üzerinde komut dosyalarını çalıştırın!
mv "$file" "$dir/"Sondaki ile kullanın /; eğer o $diryoksa, mvbunun yerine yeniden adlandırma işleminin hatasız çalışacağını $fileiçin $dir. Ayrıca düşünün mv -ive mv -n. Ve her zaman mkdir -piyi bir önlem için, hareket etmeden önce bir yapın .
A,Bvb komut dosyasını çalıştırmadan önce var? Değilse dosyaları yeniden adlandırdınız. Adların başladığıaveyaAyeniden adlandırıldığı tüm dosyalarA, bu nedenle yalnızca en son yeniden adlandırılan dosya sağ kalmıştır, diğerlerinin üzerine yazılır. Bir değişkeni aramakdirbir dizin oluşturmaz!