如何“就地”重命名嵌套路径中的文件,即无需重新键入完整路径?

asc*_*nts 1 linux shell bash rename files

我发现自己经常需要重命名mv深层目录中的不同文件:

mv /a/long/path/to/a/file.txt /a/long/path/to/a/file.txt.bak
Run Code Online (Sandbox Code Playgroud)

但我不想重新输入完​​整路径名。是否有我可以使用的快速速记或别名?IE:

$ mv /a/long/path/to/a/file.txt file.txt.bak
$ ls /a/long/path/to/a/file.txt.bak
a/long/path/to/a/file.txt.bak
Run Code Online (Sandbox Code Playgroud)

(注意:这是为了在不同时间在不同目录中直接重命名单个文件,而不是用于mass-renames

Fre*_*ddy 5

使用大括号扩展

mv /a/long/path/to/a/file.txt{,.bak}
Run Code Online (Sandbox Code Playgroud)

这将/a/long/path/to/a/file.txt使用空后缀重命名为/a/long/path/to/a/file.txtwith suffix .bak