90 Snippets: Organizing Files with shell! ๐โจ
90 Projects towards mastery - Day 01 ๐
Hey, tech wizards! Astro here, and I've got something super cool to share with you today. Remember my "90 Snippets" challenge? Well, I just wrapped up Day 01 in Shell Scripting, and boy, did I create some file-organizing magic! ๐๐ฎ
The Challenge
Create a script that takes a directory as input and organizes its files into subdirectories based on their file extensions (e.g., move all ".txt" files to a "txt" folder).
Bonus: Let the script take a file extension as an argument and use it to only organize files of that specific extension
Solution: This magical link will take you there ๐ฆ
Introducing "fileorg.sh" - A Magical File Organizer! ๐ฉ๐ช
So, here's the deal: I built this script called "fileorg.sh," and it's like a genie that organizes files inside directories, all based on their extensions! No more messy file cabinets in my directories - neat and tidy, just the way I like it! ๐โโ๏ธ
Here's how "fileorg.sh" works its magic:
I. Running the Script
Get Ready for the Magic Words! ๐งโโ๏ธTo get the party started, all you need to do is run the script with three simple parameters: the directory you want to organize, the name of the new directory where everything will be sorted, and an optional extension parameter (if you want to organize only specific file types). Easy peasy, right?
./fileorg [dir] [new_dir] [ext]
II. Displaying Help
When You Need a Little Assistance! ๐Not sure how to use the magical "fileorg.sh"? Don't worry! I've got you covered with a helpful "help" function. Just type:
./fileorg -h
And voilร ! The script will show you everything you need to know. No spells or magic wands are required! ๐ช
Organizing Files: The Magic Unfolds! ๐ช๐ฅ
Here's where the real magic happens! The script will scan the specified directory and sort all the files according to their extensions, moving them into their respective folders in the new directory.
If you provided an extension parameter, only files with that specific extension will be organized. But wait, there's more! If you didn't provide an extension, "fileorg.sh" will cleverly sort all the files into separate folders based on their extensions. It's like having a file-fairy sprinkling magic dust on your directories! โจ
But what if the new directory already exists? Fear not, for our script is wise! It won't mess with the existing content; it'll gracefully use the existing directory without affecting anything. See, magic can be practical too! ๐
Leveling Up: Going Beyond the Basics! ๐๐
On Day 01, I learned about function magic! I crafted special spells, like "single_ext" and "copy_files," to make my script more powerful and efficient. Each function worked its charm on the files, ensuring they were sorted into their rightful places.
It's like building a magical arsenal, with each spell getting stronger and more versatile. Who knew organizing files could be this enchanting? ๐๐ป
Conclusion: The Magic Continues! ๐๐ฎ
I can't believe how much fun I'm having on this "90 Snippets" journey. With "fileorg.sh" in my arsenal, I'm ready to conquer file chaos and bring order to my directories!
So, my fellow tech enthusiasts, let's keep the magic alive! Embrace challenges, learn new spells, and unravel the mysteries of coding. By Thor, by Odin, we're on our way to becoming tech superheroes! ๐ฆธโโ๏ธ๐ฅ
Stay tuned for more enchanting adventures as I dive deeper into the world of coding and take on new challenges in the days to come.
Until next time, keep coding, keep dreaming, and keep your hands dirty (coding ofc +_+)! ๐โจ