{"id":13747736,"url":"https://github.com/xvoland/Extract","last_synced_at":"2025-05-09T09:30:43.947Z","repository":{"id":8501988,"uuid":"10111265","full_name":"xvoland/Extract","owner":"xvoland","description":"Bash/Zsh function for extract: .zip, .rar, .bz2, .gz, .zlib, .tar, .tbz2, .tgz, .Z, .7z, .xz, .exe, .tar.bz2, .tar.gz, .tar.xz, etc.","archived":false,"fork":false,"pushed_at":"2025-05-01T13:22:59.000Z","size":179,"stargazers_count":489,"open_issues_count":0,"forks_count":83,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-05-07T00:33:59.704Z","etag":null,"topics":["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"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xvoland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["xvoland"],"patreon":"xvoland","custom":["https://paypal.me/xvoland","https://dotoca.net","https://youtube.com/@xvoland"],"open_collective":"extract","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null}},"created_at":"2013-05-16T21:48:29.000Z","updated_at":"2025-05-01T13:23:02.000Z","dependencies_parsed_at":"2023-01-11T17:24:27.797Z","dependency_job_id":"bcc7bc32-3a1c-4e16-99cb-2f9184e61ad8","html_url":"https://github.com/xvoland/Extract","commit_stats":{"total_commits":383,"total_committers":13,"mean_commits":29.46153846153846,"dds":0.3289817232375979,"last_synced_commit":"ad8290f9c2626631baa0d0c21fb5c428f5cd105e"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xvoland%2FExtract","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xvoland%2FExtract/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xvoland%2FExtract/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xvoland%2FExtract/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xvoland","download_url":"https://codeload.github.com/xvoland/Extract/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253102594,"owners_count":21854499,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-08-03T06:01:40.458Z","updated_at":"2025-05-09T09:30:43.938Z","avatar_url":"https://github.com/xvoland.png","language":"Shell","readme":"\u003cp align=\"right\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/xvoland/xvoland/main/images/qr_extract.png\" alt=\"DOTOCA Ltd.\" height=\"50\" width=\"50\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nCommand/function `extract` in your console\n=================================\nLooking 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.\n\n`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!\n\n\u003cbr /\u003e\n\nDescription\n-------------------------\n\nThis 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.\n\nThe 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.\n\nIf the file is not recognized as a valid archive, the function displays an error message and returns an error code of 1.\n\nBefore 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.\n\nOverall, this function provides a convenient way to extract a wide variety of archive formats using a single command, simplifying and streamlining the extraction process.\n\n\n\u003cbr /\u003e\u003cbr /\u003e\nHow to install (macOS)\n-------------------------\n\n### macOS / OSX / Mac OS X\nAdd the highly convenient Copy \u0026 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.\n\nor\n\nadd command into file `~/.bash_profile` or `~/.zshrc` or `~/.functions`\n\n```bash\nexport PATH=\u003cpath_to_file\u003e/extract.sh:$PATH\n```\n\n```bash\nsource \u003cpath_to_file\u003e/extract.sh\n```\n\nSo don't delay, update your `~/.bash_profile` today and supercharge your file management capabilities!\n\nor\n```bash\ncurl -L -o install_extract.sh https://raw.githubusercontent.com/xvoland/Extract/master/install_extract.sh \u0026\u0026 bash install_extract.sh \u0026\u0026 rm install_extract.sh\n```\n\n\u003cbr /\u003e\n\n### Ubuntu / *nix\n\nCopy\u0026Paste function into file `~/.bashrc`\n\n\n\u003cbr /\u003e\u003cbr /\u003e\nHow to Use the Installer\n-------------\n\nCopy the above code into a file, for example, install_extract.sh.\n\n#### Download:\n\n```bash\ngit clone https://github.com/xvoland/Extract.git\ncd Extract\n```\n\n#### Make the script executable:\n\n```bash\nchmod +x install_extract.sh\n```\n\n#### Run the script:\n\n```bash\n./install_extract.sh\n```\n\nor\n\n```bash\n./install_extract_func.sh\n```\n\n\n\n\u003cbr /\u003e\u003cbr /\u003e\nHow it use\n----------\n\nUsing command `extract`, in a terminal\n\n```bash\n$ extract \u003carchive_filename.extention\u003e\n```\n\n```bash\n$ extract \u003carchive_filename_1.extention\u003e \u003carchive_filename_2.extention\u003e \u003carchive_filename_3.extention\u003e ...\n```\n\n\u003cbr /\u003e\n\n### Donation\n\n\u003cp\u003eI’ll keep improving the app no matter what because I love seeing people use it to reach their goals. But if you’d like to support my work, even a $1 donation makes a big difference—it helps cover hosting costs and the time I put into coding. Every little bit helps, and I’d truly appreciate it.\u003c/p\u003e\n\u003cp\u003eIf you enjoy the my work, consider donating today. Thank you so much! 🙌\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://paypal.me/xvoland\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/xvoland/xvoland/main/images/paypal.png\" alt=\"PayPal\" width=\"250\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n---\n![GitHub stats](https://github-readme-stats.vercel.app/api?username=xvoland\u0026show_icons=true\u0026theme=radical\u0026hide_border=true)\n\n\u003cbr /\u003e\n\n\n## ⚠️ Sponsors\nExtract community? Help us keep it alive by donating funds to cover project expenses!\n\n### Crypto\n\n**BTC (ERC20):** 0x17496b75d241d377334717f8cbc16cc1a5b80396\u003cbr /\u003e\n**USDT (TRC20):** TAAsGXjNoQRJ7ewxSBL2W3DUCoG7h8LCT6\n\n### Other\n\n[Become a sponsor][opencollective]\n\n[\u003cimg src=\"https://opencollective.com/extract/backers/0/avatar\"\u003e][opencollective]\n\u003cbr /\u003e\n\n## ⛔ License\n\u0026copy; 2013, [Vitalii Tereshchuk][home] via MIT license.\n\u003cbr /\u003e\n\n## Other\n### ☎️  Connect with me:\n\n\u003cp align=\"left\"\u003e\n  \u003ca href=\"https://youtube.com/xvoland\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/xvoland/xvoland/main/images/youtube.svg\" alt=\"Youtube channel\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://instagram.com/xvoland\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/xvoland/xvoland/main/images/instagram.svg\" alt=\"xVoLAnD\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.linkedin.com/in/vitalij-terescsuk-02b4689/\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/xvoland/xvoland/main/images/linked-in-alt.svg\" alt=\"xVoLAnD\" height=\"30\" width=\"40\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://dotoca.net\" target=\"blank\"\u003e\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/xvoland/xvoland/main/images/logo-dotoca.svg\" alt=\"DOTOCA Ltd.\" height=\"50\" width=\"80\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\u003cbr /\u003e\n\n---\n\n📺 Latest YouTube Videos\n\u003c!-- YOUTUBE:START --\u003e\n- [ MP3 Tags of Custom Lyrics for Local Files on Apple Music](https://www.youtube.com/watch?v=ZeZOn37xFXA)\n- [💡 New TYPE-C AA Batteries Are Here – Easy Charging with USB!](https://www.youtube.com/watch?v=yFr2sYPvBeM)\n- [🔥💡 Smartest Way to Remove Personal Info from Labels \u0026lpar;You’re Doing It Wrong!\u0026rpar;](https://www.youtube.com/watch?v=-f4xhf9h-pI)\n- [🎹🎵 Так, Малий, Твій Цілунок Странний - Загартована | Yes, Baby, Your Kiss Is Strange - Zagartovana](https://www.youtube.com/watch?v=jUdwbYpCHVg)\n- [🎹🎵 Не тримай. Загартована. | Don\u0026#39;t hold. Ukrainian music](https://www.youtube.com/watch?v=EkWYhwkdXF0)\n\u003c!-- YOUTUBE:END --\u003e\n\n➡️ [more videos...][youtube]\n\n\n[home]: http://dotoca.net\n[paypal]: https://paypal.me/xvoland\n[youtube]: https://youtube.com/xvoland\n[instagram]: https://www.instagram.com/xvoland/\n[opencollective]: https://opencollective.com/extract/backers/0/website","funding_links":["https://github.com/sponsors/xvoland","https://patreon.com/xvoland","https://paypal.me/xvoland","https://dotoca.net","https://youtube.com/@xvoland","https://opencollective.com/extract","https://opencollective.com/extract/backers/0/avatar","https://opencollective.com/extract/backers/0/website"],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxvoland%2FExtract","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxvoland%2FExtract","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxvoland%2FExtract/lists"}