Tips & Tricks Memindahkan File Dari Subfolder & Sub-subfolder Ke Main Folder Menggunakan Shell Script

It’s been a while 🙂

Pada tulisan kali ini, saya ingin membagikan tips & trick ringan bagaimana memindahkan file-file yang ada di subfoldersub-subfolder ke main folder secara praktis menggunakan shell script.

Contoh kasus, saya hendak memindahkan semua file yang ada di subfolder dan sub-subfolder di Mac Book Pro saya ke Main Folder (Musicseperti gambar berikut:

Terlihat bahwa semua file ada di subfolder dan sub-subfolder. Sebagai gambaran, jumlah total subfolder dalam main folder Music sejumlah 428 folder dan jumlah file yang hendak dipindahkan sebanyak 1,825 file. Tentu saja memindahkan satu per satu dengan cara click & drag sangat tidak feasible untuk dilakukan. Karena itu saya akan menggunakan shell script untuk mempermudah pekerjaan ini hanya dengan satu baris command.

Saya akan membuat satu shell script di dalam main folder Music dan saya beri nama “pindahkan” dengan menggunakan editor nano di terminal saya.

Sebelumnya, ada beberapa asumsi untuk case ini adalah sebagai berikut:

  1. Saya ingin memindahkan semua file secara recursive (di semua subfolder & sub-subfolder).
  2. Saya tidak ingin memindahkan lokasi dari file script pindahkan pada saat script dieksekusi.
  3. Saya memiliki akses dan permission untuk memindahkan file pada folder-folder ini. Pada case ini saya menggunakan hak akses root.
  4. Nama file bisa jadi mengandung spasi (contoh: nama file.m4a atau filelagu.flac)
Baca Juga:  Belajar Linux: Menggunakan Terminal/Command Line Part. 7

Berdasarkan asumsi di atas, maka isi dari script pindahkan adalah sebagai berikut:

find * -type f -print -not -type d -and -not -regex 'pindahkan' -exec mv {} .. \;

Perhatikan bahwa nama script ‘pindahkan’ disesuaikan dengan nama script yang kita simpan. Simpan file tersebut dengan menekan Ctrl+x. Kemudian ketikkan command chmod +x pindahkansehingga file pindahkan menjadi executable.

Jalankan script dengan mengetikkan ./pindahkan. Semoga bermanfaat!

About This Author

IT Engineer, Red Hat Certified System Administrator & Technician (RHCT & RHCSA), Certified Data Center Facilities Operation Manager (CDFOM), Certified Ethical Hacking (CEH), expert in Computer Networking in multi operating system and hardware. Specialties: Linux, Free BSD, *Nix, MS Windows, Data Center, Cisco & Computer Networking

Post A Reply