Forrest logo
back to the zmv tool

zmv:tldr:b5c2e

zmv: Preview the result of a move, without making any actual changes.
$ zmv -n '${(*)-log}' '${$1-txt}'
try on your machine

The command zmv -n '${(*)-log}' '${$1-txt}' is using the zmv utility and regular expressions to rename files in the current directory.

Here's an explanation of each part of the command:

  • zmv: zmv is a utility in the Zsh shell that allows for mass file renaming by using regular expressions.

  • -n: This is an option given to zmv which stands for "no execution". It means that the command will not actually rename the files, but will only show the changes that would be made.

  • ${(*)-log}: This is a globbing pattern enclosed in single quotes. It matches any file in the current directory. The (*) is a glob qualifier that expands to the name of each file. The -${(*)-log} part specifies a default value of "log" if the expansion is empty, meaning it will work for files that don't have an extension.

  • ${$1-txt}: This is the replacement part of the command. It uses a backreference $1 to refer to the matched file name, and replaces its extension (if any) with "txt".

So, essentially, the command finds all files in the current directory (including those without an extension), and renames their extensions to "txt" (if they have one), while displaying the proposed changes without actually modifying the files.

This explanation was created by an AI. In most cases those are correct. But please always be careful and never run a command you are not sure if it is safe.
back to the zmv tool