xvoland / Extract

Bash/Zsh function for extract: .zip, .rar, .bz2, .gz, .zlib, .tar, .tbz2, .tgz, .Z, .7z, .xz, .exe, .tar.bz2, .tar.gz, .tar.xz, etc.
MIT License
472 stars 82 forks source link
archive archives arj bash bash-script command-line command-line-tool console-tool extract shell-script shell-scripts tar tgz utilities utility-scripts utils zlib zsh zsh-plugins zshrc

DOTOCA Ltd.

Command/function extract in your console

Looking to extract a diverse range of file formats on your Mac or Linux? Look no further than the versatile extract command, designed to handle just about any file you throw at it! With built-in support for an extensive list of formats including .zip, .rar, .bz2, .gz, .zlib, .tar, .tbz2, .tgz, .Z, .7z, .xz, .exe, .tar.bz2, .tar.gz, .tar.xz, .arj, .cab, .chm, .deb, .dmg, .iso, .lzh, .msi, .rpm, .udf, .wim, .xar .cpio, .cbr, .cbz, .cb7, .cbt, .cba, .apk, .zpaq, .arc, .ciso, .zst, tar.zst and .vhd - you can rest assured that your extraction needs will be met with ease.

extract utilizes free unpackers to ensure support for even the most obscure and outdated file types. Give extract a try and streamline your file extraction process today!


Description

This is a Bash function called "extract" that is designed to extract a variety of file formats. It takes one or more arguments, each of which represents a file or path that needs to be extracted. If no arguments are provided, the function displays usage instructions.

The function uses a case statement to determine the appropriate extraction method for each file type, and then calls the corresponding command. For example, if the file is a ZIP archive, the function uses the "unzip" command to extract its contents.

If the file is not recognized as a valid archive, the function displays an error message and returns an error code of 1.

Before running the function, the value of the Internal Field Separator (IFS) is saved so that it can be restored at the end of the function. This is done to prevent unwanted word splitting and filename expansion when processing file paths.

Overall, this function provides a convenient way to extract a wide variety of archive formats using a single command, simplifying and streamlining the extraction process.



How to install (macOS)

macOS / OSX / Mac OS X

Add the highly convenient Copy & Paste functionality to your file management arsenal by simply including the appropriate code into your ~/.bash_profile file. With this modification, you'll be able to breeze through your file manipulation tasks with ease and efficiency.

or

add command into file ~/.bash_profile or ~/.zshrc or ~/.functions

export PATH=<path_to_file>/extract.sh:$PATH
source <path_to_file>/extract.sh

So don't delay, update your ~/.bash_profile today and supercharge your file management capabilities!

or

curl -L -o install_extract.sh https://raw.githubusercontent.com/xvoland/Extract/master/install_extract.sh && bash install_extract.sh && rm install_extract.sh


Ubuntu / *nix

Copy&Paste function into file ~/.bashrc



How to Use the Installer

Copy the above code into a file, for example, install_extract.sh.

Download:

git clone https://github.com/xvoland/Extract.git
cd Extract

Make the script executable:

chmod +x install_extract.sh

Run the script:

./install_extract.sh



How it use

Using command extract, in a terminal

$ extract <archive_filename.extention>
$ extract <archive_filename_1.extention> <archive_filename_2.extention> <archive_filename_3.extention> ...


Donation

Regardless of whether funding is obtained or not, I will persist in refining the script's capabilities because it brings me joy to witness people using it and achieving their goals. However, I would be grateful for any support you could offer in offsetting the costs of hosting the domain and the time spent programming, which would otherwise encroach on my precious family time.

Donate any amount for my projects

Click here to lend your support to Extractor and make a donation!


GitHub stats


⚠️ Sponsors

Extract community? Help us keep it alive by donating funds to cover project expenses!

Crypto

BTC (ERC20): 0x17496b75d241d377334717f8cbc16cc1a5b80396
USDT (TRC20): TAAsGXjNoQRJ7ewxSBL2W3DUCoG7h8LCT6

Other

Become a sponsor


⛔ License

© 2013, Vitalii Tereshchuk via MIT license.

Other

☎️ Connect with me:

Youtube channel xVoLAnD xVoLAnD DOTOCA Ltd.




📺 Latest YouTube Videos

➡️ more videos...