Pindahkan file ke folder individual, menggunakan nama file sebagai konvensi penamaan folder untuk folder, menggunakan Terminal

0

Saya telah mencari jawaban di web sekarang selama beberapa jam dan tidak dapat menemukan apa yang saya cari. Yang ingin saya lakukan adalah memindahkan setiap file dalam direktori ke folder baru menggunakan nama file, tidak termasuk ekstensi.

/Movies/Filname.avi --- & gt; /Movies/Filename/Filename.avi

Saya tahu bagaimana melakukan setiap file individual, tetapi dapatkah saya melakukannya secara eksklusif untuk seluruh folder menggunakan satu perintah atau skrip.

moosethemucha
sumber
Bisakah Anda memposting skrip Anda sebagai jawaban alih-alih menambahkannya ke pertanyaan? Akan membuat lebih mudah bagi pengguna lain untuk memahami apa yang terjadi.
nohillside

Jawaban:

1

Ini harus melakukan trik.

#!/bin/bash
shopt -s nullglob    #avoid problems in directory with no files
ext=avi              #the file extension to search for
for f in *.$ext; do
    d="${f##/}"      #gives us just the filename
    d="${d%.$ext}"   #strips the file extension
    mkdir "$d"       #makes the directory
    mv "$f" "$d/$f"  #moves the file
done
miken32
sumber
Pada akhirnya saya memutuskan untuk menulis sendiri, tidak hanya buruk bahwa saya memiliki beberapa ekstensi. Saya akan memposting skrip saya dalam beberapa jam, ketika saya diizinkan
moosethemucha