A universal interface to multiple unarchiving tools
Switch branches/tags
Nothing to show
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Show help text if no arguments are passed Aug 21, 2012
.travis.yml Update .travis.yml to use GHC 8.4.3 Jun 13, 2018
LICENSE Setup Cabal build files Aug 8, 2012
Main.hs Fix some hlint warnings Jan 16, 2017
README.md Updated README.md Aug 8, 2012
default.nix Update pinned rev of nixpkgs in default.nix Jun 13, 2018
una.cabal Change the Cabal Category Feb 19, 2013


una: Universal un-archiver

Version 1.0, by John Wiegley johnw@newartisans.com

This is a "universal", recursive unarchiver, written because I'm too lazy to remember all the extraction options for the large number of archive formats I deal with.

Optional dependencies:

  • StuffIt Expander (free, expander-only version)
  • MacPorts: unarj, unrar, lha, p7zip, cabextract



If no OPTION is specified, the default action is to extract the archive's
contents into the current directory.

  -h, --help        show help
  -d, --delete      delete the archive if sucessfully extracted
  -f, --overwrite   overwrite any existing file

This script is also smart about unarchiving:

a) if all the contents of an archive would already extract into a single directory, do that;

b) if the archive contains only one item, extract it into the current directory;

c) otherwise, if the archive would dump multiple contents into the current directory, create a new directory based on the name of the archive, sans extension, and put everything there.