How to use the command qmv (with examples)
The qmv command is a part of the renameutils package and allows users to move files and directories using their default text editor to define the new filenames. It provides a user-friendly interface for renaming multiple files and directories in a single operation.
Use case 1: Move a single file
Code:
qmv source_file
Motivation: The first use case demonstrates how to move a single file using the qmv command. Opening the source filename and target filename in an editor window allows users to easily modify the filename before moving the file to the desired location.
Explanation: In this use case, “source_file” represents the file that needs to be moved. The qmv command will open the chosen text editor with the source filename on the left side and an empty space for the target filename on the right side. Users can edit the target filename accordingly and save the file to move it.
Example output:
editor opens with 'source_file' on the left side and an empty space on the right side
Use case 2: Move multiple JPG files
Code:
qmv *.jpg
Motivation: When there is a need to move multiple JPG files, using qmv allows users to rename all the files at once in a convenient way. Instead of manually renaming each file separately, qmv opens the text editor with all the filenames, allowing users to modify them effortlessly.
Explanation: In this use case, “*.jpg” is a wildcard pattern that represents all the JPG files in the current directory. The qmv command will open the text editor with the list of JPG filenames on the left side and empty spaces for the new target filenames on the right side. Users can then modify each filename according to their requirements and save the file to move the files.
Example output:
editor opens with the list of all JPG filenames on the left side and empty spaces on the right side for new target filenames
Use case 3: Move multiple directories
Code:
qmv -d path/to/directory1 path/to/directory2 path/to/directory3
Motivation: Moving multiple directories can become tedious when done manually. Using qmv streamlines the process by providing a user-friendly interface to rename directories and move them to the desired locations efficiently.
Explanation: This use case shows how to move multiple directories using the qmv command. The “-d” option instructs qmv to treat the provided paths as directories. Users need to specify the paths of the directories they want to move, and qmv will open the text editor with each directory name on the left side and an empty space for the new target directory names on the right side. Users can modify the directory names as desired and save the file to move the directories.
Example output:
editor opens with the list of directory names on the left side and empty spaces on the right side for new target directory names
Use case 4: Move all files and directories inside a directory
Code:
qmv --recursive path/to/directory
Motivation: When moving all files and directories inside a specific directory, it can be time-consuming to individually rename and move each item. Using qmv with the “–recursive” option simplifies the process by providing a comprehensive view of all items in the directory for easy renaming and moving.
Explanation: In this use case, “path/to/directory” represents the directory containing the files and subdirectories to be moved. The “–recursive” option instructs qmv to recursively include all files and directories inside the specified directory. qmv will then open the text editor with each filename/directory name on the left side and an empty space for the new target names on the right side. Users can modify the names as needed and save the file to move the items.
Example output:
editor opens with the list of all filenames and directory names on the left side and empty spaces on the right side for new target names
Use case 5: Move files, but swap the positions of the source and target filenames in the editor
Code:
qmv --option swap *.jpg
Motivation: The “–option swap” feature of qmv allows users to easily interchange the positions of the source filenames and target filenames in the editor. This can be useful when users prefer to view and modify the target filenames before renaming and moving the files.
Explanation: In this use case, “–option swap” is used to instruct qmv to swap the positions of the source filenames (on the right side) and target filenames (on the left side) in the editor. “*.jpg” is a wildcard pattern that represents all the JPG files in the current directory. qmv will open the text editor with the list of target filenames on the left side and the corresponding source filenames on the right side. Users can modify the target filenames as necessary and save the file to move the files.
Example output:
editor opens with the list of target filenames on the left side and corresponding source filenames on the right side
Use case 6: Rename all files and folders in the current directory, but show only target filenames in the editor
Code:
qmv --format=do .
Motivation: The “–format=do” option of qmv allows users to focus solely on the target filenames while renaming files and directories. This simplified mode can be useful when users have a large number of items to rename and prefer to avoid distractions.
Explanation: In this use case, “–format=do” is used to instruct qmv to show only the target filenames in the text editor, instead of displaying both the source and target filenames. The “.” represents the current directory. qmv will open the text editor with a list of empty spaces on the left side for the target filenames. Users can fill in the desired target filenames and save the file to rename the items in the current directory.
Example output:
editor opens with a list of empty spaces on the left side for target filenames
Conclusion:
The qmv command provides a convenient and user-friendly way to move and rename files and directories. With its integration with a default text editor, users can easily modify filenames, making batch renaming and moving operations quick and efficient. Whether moving single files, multiple files, or directories, qmv simplifies the process and offers flexibility in renaming operations.