home | help
DETOX(1)		     General Commands Manual			DETOX(1)

NAME
     detox -- clean up filenames

SYNOPSIS
     detox [-f configfile] [-n | --dry-run] [-r] [-s sequence] [--special] [-v]
	   file ...
     detox [-L] [-f configfile] [-v]
     detox [-h | --help]
     detox [-V]

DESCRIPTION
     The  detox  utility  renames  files  to make them easier to work with under
     Linux and other Unix-like operating systems.  It replaces	characters  that
     make  it  hard to type out a filename with dashes and underscores.  It also
     provides transcoding-based filters, converting  ISO-8859-1  or  CP-1252  to
     UTF-8.  An additional filter unescapes CGI-escaped filenames.

   Sequences
     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 fil-
     ters.   Other  examples  of  pre-configured  sequences  are  iso8859_1  and
     iso8859_1-legacy, which both provide transcoding to UTF-8, 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.

     --inline	 Run in inline mode.  See inline-detox(1) for more details.

     -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.  Any file or directory that starts
		 with a period, such as .git/ or .cache/, will be ignored during
		 recursion unless specified on the command line.  Also, any file
		 or directory specified in the ignore section of the config file
		 will be ignored during recursion.

     -s sequence
		 Use sequence instead of default.

     --special	 Works	on  special files (including links).  Normally detox ig-
		 nores these files.  detox will not recurse into  symlinks  that
		 point at directories.

     -v 	 Be verbose about which files are being renamed.

     -V 	 Show the current version of 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 ig-
		 nored.

     /usr/share/detox/cp1252.tbl
		 The provided CP-1252 transcoding table.

     /usr/share/detox/iso8859_1.tbl
		 The provided ISO-8859-1 transcoding table.

     /usr/share/detox/safe.tbl
		 The provided safe character translation table.

     /usr/share/detox/unicode.tbl
		 The provided Unicode control character filtering table, used by
		 the UTF-8 filter.

EXAMPLES
     detox -s lower -r -v -n /tmp/new_files
		 Will  run  the sequence lower 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  fil-
		 ters and options.

SEE ALSO
     inline-detox(1),  detox.tbl(5),  detoxrc(5),  ascii(7), iso_8859-1(7), uni-
     code(7), utf-8(7)

HISTORY
     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 un-
     der  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.

     Version  2.0  stepped back from transliteration out of the box, instead fo-
     cusing on ease of use.  Version 3.0 further shifted this, by removing  most
     of  the  transliteration from the tables.	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
     detox was written by Doug Harple.

CAVEATS
     If, after the translation of a filename is finished, a file already  exists
     with that same name, detox will not rename the file.

FreeBSD ports 15.quarterly	 March 31, 2024 			DETOX(1)

home | help