una: Universal un-archiver utility

[ bsd3, program, utilities ] [ Propose Tags ]

A simple universal unarchiving utility. Just point it at any archive or compressed file, and it spits out a single file or directory in the current directory with its contents. Use -d to delete the original archive on success. Use -f to overwrite any existing file or directory which might be in the way.

[Skip to Readme]
Versions [faq] 2.0.0, 2.0.1, 2.1.0
Dependencies base (==4.*), bytestring, cmdargs, directory, filepath, io-storage, process [details]
License BSD-3-Clause
Author John Wiegley
Maintainer John Wiegley <johnw@newartisans.com>
Category Utilities
Home page https://github.com/jwiegley/una
Source repo head: git clone https://github.com/jwiegley/una
Uploaded by JohnWiegley at 2012-08-21T22:38:52Z
Distributions NixOS:2.1.0
Executables una
Downloads 2097 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
Last success reported on 2016-12-24 [all 7 reports]


Maintainer's Corner

For package maintainers and hackage trustees

Readme for una-2.0.1

[back to package description]

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.