如何在不改变当前目录或重复写路径的情况下重命名不同路径中的文件?

如何在不改变当前目录或重复写路径的情况下重命名不同路径中的文件?

例如,我想重命名tif/fat/tul/codes/MyCode.plTheCode.pl同一目录中的。目前我知道我可以使用这个:

mv tif/fat/tul/codes/MyCode.pl tif/fat/tul/codes/TheCode.pl

但这需要我重复输入完整路径(如果路径很长可能会很烦人)

或者我可以使用

cd mv tif/fat/tul/codes/
mv MyCode.pl TheCode.pl

缺点是我必须输入 2 个命令,并且必须更改当前目录,在很多情况下这是不可取的。

有没有更有效的方法来做到这一点?

答案1

您可以做的另一件事是在当前 shell 中打开另一个 shell(例如 bash),cd进入文件目录,然后mv。然后只需使用 Ctrl+D 关闭 shell(返回到上一个目录)。

答案2

find /path/to/dir/ -iname MyCode.pl -execdir mv MyCode.pl TheCode.pl

/path/to/dir是您想要重命名文件的目录的路径。

注意:这将重命名目录/path/to/dir/及其子目录中的所有文件。

相关内容