convmv (1) Linux Manual Page
NAME
convmv – converts filenames from one encoding to another
SYNOPSIS
convmv [options] FILE(S) … DIRECTORY(S)
OPTIONS
-fENCODING- specify the current encoding of the filename(s) from which should be converted
-tENCODING- specify the encoding to which the filename(s) should be converted
-i- interactive mode (ask y/n for each action)
-r- recursively go through directories
–nfc- target files will be normalization form C for UTF-8 (Linux etc.)
–nfd- target files will be normalization form D for UTF-8 (OS X etc.).
–qfrom,–qto- be more quiet about the “from” or “to” of a rename (if it screws up your terminal e.g.). This will in fact do nothing else than replace any non-ASCII character (bytewise) with ? and any control character with * on printout, this does not affect rename operation itself.
–execcommand- execute the given command. You have to quote the command and #1 will be substituted by the old, #2 by the new filename. Using this option link targets will stay untouched.
Example:
convmv -f latin1 -t utf-8 -r –exec “echo #1 should be renamed to #2” path/to/files
–list- list all available encodings. To get support for more Chinese or Japanese encodings install the Perl HanExtra or JIS2K Encode packages.
–lowmem- keep memory footprint low by not creating a hash of all files. This disables checking if symlink targets are in subtree. Symlink target pointers will be converted regardlessly. If you convert multiple hundredthousands or millions of files the memory usage of convmv might grow quite high. This option would help you out in that case.
–nosmart- by default convmv will detect if a filename is already UTF8 encoded and will skip this file if conversion from some charset to UTF8 should be performed. "--nosmart" will also force conversion to UTF-8 for such files, which might result in “double encoded UTF-8” (see section below).
–fixdouble- using the "--fixdouble" option convmv does only convert files which will still be UTF-8 encoded after conversion. That’s useful for fixing double-encoded UTF-8 files. All files which are not UTF-8 or will not result in UTF-8 after conversion will not be touched. Also see chapter “How to undo double UTF-8 …” below.
–notest- Needed to actually rename the files. By default convmv will just print what it wants to do.
–parsable- This is an advanced option that people who want to write a GUI front end will find useful (some others maybe, too). It will convmv make print out what it would do in an easy parsable way. The first column contains the action or some kind of information, the second column mostly contains the file that is to be modified and if appropriate the third column contains the modified value. Each column is separated by
