NAME
inline-detox — clean up filenames (stream-based)
SYNOPSIS
inline-detox
[-f configfile]
[-s sequence] [-v]
inline-detox [-f configfile]
[-s sequence] [-v]
file ...
inline-detox [-L]
[-f configfile] [-v]
inline-detox [-h | --help]
inline-detox [-V]
DESCRIPTION
The inline-detox utility generates new filenames to make them easier to work with under Unix and Unix-like operating systems. It replaces characters that make it hard to type out a filename with dashes and underscores. It also provides transliteration-based filters, converting ISO 8859-1 or UTF-8 to ASCII, in part or in whole. An additional filter unescapes CGI-escaped filenames.
inline-detox reads filename(s) from the input stream and writes the updated filename(s) to the output stream.
If a filename is passed on the command line, inline-detox reads this file and processes each line before writing it to the output stream.
Running detox --inline is identical to running inline-detox.
Sequences
inline-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. The default sequence will run the safe and
wipeup filters. Other examples of pre-configured
sequences are iso8859_1 and utf_8, which both
provide transliteration to ASCII and then finish with the
safe and wipeup filters.
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.
-s sequence
Use sequence instead of default.
-v
Be verbose about which files are being renamed.
-V
Show the current version of inline-detox.
FILES
/etc/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.
/usr/share/detox/cp1252.tbl
The provided CP-1252 transliteration table.
/usr/share/detox/iso8859_1.tbl
The provided ISO 8859-1 transliteration table.
/usr/share/detox/safe.tbl
The provided safe character translation table.
/usr/share/detox/unicode.tbl
The provided Unicode transliteration table, used by the UTF-8 filter.
/usr/share/detox/unidecode.tbl
An additional Unicode tranlsiteration table, based on Text::Unidecode(3pm).
EXAMPLES
echo Foo Bar | inline-detox -s lower
-v
Will run the sequence lower, listing any changes and returning the result to the output stream.
SEE ALSO
detox(1), Text::Unidecode(3pm), detox.tbl(5), detoxrc(5), ascii(7), iso_8859-1(7), unicode(7), utf-8(7)
HISTORY
inline-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 inline-detox to clean up these files.
Version 2.0 stepped back from transliteration out of the box, instead focusing on ease of use. The primary motivations for this were user-provided feedback, and the fact that many modern Unix-like OSs use UTF-8 as their primary character set. Transliterating from UTF-8 to ASCII in this scenario is lossy and pointless.
AUTHORS
inline-detox was written by Doug Harple.
BSD February 24, 2021 BSD