我是长期的 Windows 用户,因此我发现该ren
命令的语法既简单又方便:
ren C:\pathTo\myFile\oldFileName.txt newFileName.txt
我希望能够在 bash shell 上使用相同的语法。
我知道我可以使用cd
或pushd
/popd
结合来解决这个问题mv
,但这很不方便,因为它涉及多个命令。
我也找到了涉及带有rename
正则表达式的命令的解决方案,但这对于我的用例来说过于复杂,而且语法很难记住。
如果有人可以提供一个别名或 bash 脚本,以达到与 Windows 命令相同的效果ren
,同时具有其清晰简单的语法,我将不胜感激。
谢谢!
我并不是特别熟悉,
REN
但看起来第一个参数中提供的目录路径是重命名文件最终应该到达的位置。本机解决方案可能是这样的
但如果你想要一个脚本:
将该函数粘贴到你的 shell 中并尝试一下
:
它会告诉您它在做什么,但实际上并不执行。当您觉得合适时,请从 前面删除冒号 ( )mv
。您可以将其粘贴到您的
.bashrc
and/or中.bash_profile
,或将其创建为可执行脚本,并ren
放置在您的 中的某个位置$PATH
。如果您使用脚本路线,则需要在脚本末尾(右}
括号后)再添加一行来执行该函数:Bash 括号扩展可用于:
要重命名
path/to/foo.txt
,path/to/bar.txt
我们可以从它们的公共部分生成这两条路径,如下所示:不过,括号扩展与制表符补全功能配合得并不好。如果您依靠补全功能来查找重命名前的原始路径,您可能首先必须执行以下操作:
然后返回并编辑它:
等等: