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]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 2.0.0, 2.0.1, 2.1.0
Dependencies base (>=4 && <5), 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-09-06T19:33:50Z
Distributions NixOS:2.1.0
Reverse Dependencies 1 direct, 0 indirect [details]
Executables una
Downloads 2327 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2016-12-24 [all 7 reports]

Readme for una-2.1.0

[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.