detox
—
clean up filenames
detox |
[-hnLrv ] [-s
sequence] [-f
configfile] [--dry-run ]
[--special ] file ... |
The detox
utility renames files to make them easier to
work with. It removes spaces and other such annoyances. It'll also translate
or cleanup Latin-1 (ISO 8859-1) characters encoded in 8-bit ASCII, Unicode
characters encoded in UTF-8, and CGI escaped characters.
detox
is driven by a configurable series of filters,
called a sequence. Sequences are covered in more detail in
detoxrc(5)
and are discoverable with the -L
option. Some examples
of default sequences are iso8859_1
and
utf_8
.
The main options:
-f
configfile
- Use configfile instead of the default configuration
files for loading translation sequences. No other config file will be
parsed.
-h
--help
- Display helpful information.
-L
- List the currently available sequences. When paired with
-v
this option shows what filters are used in each
sequence and any properties applied to the filters.
-n
--dry-run
- Doesn't actually change anything. This implies the
-v
option.
-r
- Recurse into subdirectories.
-s
sequence
- Use sequence instead of default.
--special
- Works on special files (including links). Normally
detox
ignores these files.
-v
- Be verbose about which files are being renamed.
-V
- Show the current version of
detox
.
Deprecated Options are options that were available in earlier versions of
detox
but have lost their meaning and are being phased
out.
--remove-trailing
- Removes _ and - after .'s in filenames. This was first provided in the 0.9
series of
detox
. After the introduction of
sequences, it lost its meaning, as you could now determine the properties
of wipeup through a particular sequence's configuration. It presently
forces all instances of the wipeup filter to use remove trailing,
regardless of what's actually in the config files.
- detoxrc
- The system-wide detoxrc file.
- ~/.detoxrc
- A user's personal detoxrc. Normally it extends the system-wide detoxrc,
unless
-f
has been specified, in which case, it is
ignored.
- iso8859_1.tbl
- The default ISO 8859-1 translation table.
- unicode.tbl
- The default Unicode (UTF-8) translation table.
detox
-s
iso8859_1 -r
-v
-n
/tmp/new_files
- Will run the sequence iso8859_1 recursively, listing
any changes, without changing anything, on the files of
/tmp/new_files.
detox
-f
my_detoxrc -L
-v
- Will list the sequences within my_detoxrc, showing
their filters and options.
detox
was originally designed to clean up files that I
had received from friends which had been created using other operating
systems. It's trivial to create a filename with spaces, parenthesis, brackets,
and ampersands under some operating systems. These have special meaning within
FreeBSD and Linux, and cause problems when you go to access them. I created
detox
to clean up these files.
detox
was written by Doug
Harple.
If, after the translation of a filename is finished, a file already exists with
that same name, detox
will not rename the file. This
could cause a problem with the max_length
filter, if
it was imperative that the files be cut down to a certain length.
Long options don't work under Solaris or Darwin.
An error in the config file will cause a segfault as it's going to
print the offending word within the config file.