|Generate a list files to rename from command-line arguments by using ls(1).|
|Create an editable text file|
|The edit format creates an editable text file with the file names.|
|Start the editor|
|Start the text editor and wait until the user has finished editing it.|
|Read the edited text file|
|The edit format reads the edited text file now with updated file names.|
|Check rename and reorder to resolve conflicts (qmv only)|
This is a complicated step which involves the following tasks:
Tag renames where the destination file already exists, renames where the old file is now missing or inaccessible, and renames renames where the new name was not changed. Perform a topologic sort on the renames, so that renaming b->c, a->b is possible. Resolve cross references by renaming into temporary names, so that renaming e->f, f->e (or e->f, f->g, g->e and so on) is possible.
This step results in a plan of renames.
|Display the plan.|
|Display the plan to the user.|
|Apply the plan.|
|Apply the plan by actually renaming or copying files (unless --dummy was specified).|
These programs follow the usual GNU command line syntax, with long options starting with two dashes (-).
-a, --all (Passed to ls.) Do not hide entries starting with .. -A, --almost-all (Passed to ls.) Do not list implied . and ... -B, --ignore-backups (Passed to ls.) Do not list implied entries ending with ~. -c (Passed to ls.) Sort by ctime (time of last modification). --command=COMMAND Execute COMMAND instead of mv or cp. -d, --directory (Passed to ls.) List directory entires instead of contents. -r, --reverse (Passed to ls.) Reverse order while sorting. -R, --recursive (Passed to ls.) List subdirectories recursively. -S (Passed to ls.) Sort by file size. --sort=WORD (Passed to ls.) Sort by extension (-X), none (-U), size (-S), time (-t), version (-v), status (-c), time (-t), atime (-u), or access (-u). --time=WORD (Passed to ls.) If sorting is done by time (--sort=time), sort by atime, access, use, ctime or status time. -t (Passed to ls.) Sort by modification time. -u (Passed to ls.) Sort by access time. -U (Passed to ls.) Do not sort; list entries in directory order. -X (Passed to ls.) Sort alphabetically by entry extension. -f, --format=FORMAT Change edit format of text file. See below for possible values. -o, --options=OPTIONS Pass options to the selected edit format. OPTIONS is in the format
For a list of available options for each format, use --options=help or see below.
-i, --interactive Start in command mode (see below for information on this mode). -e, --editor=PROGRAM Specify program to edit text file with. The default program is determined by looking at the VISUAL environment variable, or if that is not set, the EDITOR environment variable. If that is not set either, use the program called editor. --ls=PROGRAM Specify path of the ls program. If you omit the directory, the executable will be searched for in the directories specified by the PATH environment variable. -v, --verbose Be more verbose about what is being done. --dummy Do everything as usually, except actually renaming any files ("dummy" mode). --help Show summary of options. --version Output version information and exit.
An edit format is responsible for generating a text file for editing, and parsing it once it has been edited. The default format is dual-column, but there are other formats as well.
Not all edit formats take the same options. Therefore, it is necessary to specify them using the --options (-o) option. This option takes a list of "suboptions" similar to the -o option in mount(8).
Available edit formats are single-column (or sc), dual-column (or dc), and destination-only (or do). The default format is dual-column.
The dual-column format (dual-column or dc) displays files in two columns. This is the default and recommended format. The leftmost column is usually the source file name (which should not be edited), and the rightmost column the destination file name.
swap Swap location of old and new names when editing. I.e. the leftmost column is now the destination file name, and the rightmost the source file name. separate Put a blank line between all renames. tabsize=SIZE By default, tab characters of size 8 are used to separate the columns. With this option the width of these tab characters can be changed. spaces Use space characters instead of tab characters when indenting. width=WIDTH This option specifies the character position (horizontally) which the second file name starts at. autowidth Normally, if the source file name is longer than width characters, the destination name is printed on the next line instead. With this option enabled however, qmv/qcp will adjust the width so that source and destination file names can be displayed on one line.
If a width has been specified with width prior to autowidth, that width will be used as a minimum width.
Example: Assume that width=10,autowidth is specified. Even if all source file names are shorter than five characters, the split width would be 10. If there had been one file name longer than 10 characters, the final width would have been more than 10 characters.
This option is enabled by default.
indicator1=TEXT Text to put before the first file name (column). indicator2=TEXT Text to put before the second file name (column). help Show summary of edit format options.
The single-column format (single-column or sc) displays files in a single column - first source file name and on the next line the destination file name.
swap Swap location of old and new names when editing. I.e. the first line will contain the destination file name, and the next line the source file name. separate Put a blank line between all renames. indicator1=TEXT Text to put before the first file name. indicator2=TEXT Text to put before the second file name. help Show summary of edit format options.
The destination-only format (destination-only or do) displays files only the destination file name, one on each line. This format is generally not recommended, since the only way to identify source file name is by looking at the line number. But it may be useful with some text editors.
separate Put a blank line between all renames (file names).
In interactive mode qmv/qcp reads commands from the keyboard, parses them, and executes them. This is done using GNU readline.
The following commands are available:
ls, list [OPTIONS].. [FILES].. Select files to rename. If no files are specified, select all files in current directory. The accepted options are those which are passed to ls(1). Use help ls to display a list of these. import FILE Read files to rename from a text file. Each line should correspond to an existing file to rename. ed, edit Edit renames in a text editor. If this command has been run before, and not all is specified, only edit renames with errors. plan Display the current rename-plan. (This plan is created after edit.) apply Apply the current plan, i.e. rename files. Only those files marked as OK in the plan will be renamed. retry If some rename failed earlier during apply, this command will try those renames again. show Display the value of the specified configuration variable, or all variables if none specified. See below for a list of configuration variables. set VARIABLE VALUE Set the value of a configuration variable. exit, quit Exit the program. If there are unapplied changes, the user will be notified so, and it will be necessary to run this command an extra time to exit the program. help [ls|usage] If ls is specified, display list options. If usage is specified, display accepted command line options. Otherwise display help on commands in interactive mode. version Display version information.
The following variables are available in interactive mode:
A boolean value is specified as 0, false, no, off or 1, true, yes, and on. Strings are specified without quotes.
These variables corresponds to the options with the same name. tempfile STRING This variable contains the name of the temporary file which is edited with edit. It cannot be set; only be read with show.
Edit names of files in current directory.
Edit names of files with extension .c. Sort files by modification time.
qmv -t *.c
Edit names of files using the nedit editor and with column width 100.
qmv -enedit -owidth=100
Report bugs to <email@example.com>.
The author of renameutils and this manual page is Oskar Liljeblad <firstname.lastname@example.org>.
Copyright © 2001, 2002, 2004, 2005, 2007, 2008, 2011 Oskar Liljeblad
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|qcmd (renameutils)||QCMD (1)||December 4, 2007|