具有长名称的Linux mv文件

前端之家收集整理的这篇文章主要介绍了具有长名称的Linux mv文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Linux中,我有时会重命名这样的文件
mv dir1/dir2/dir3/file.txt  dir1/dir2/dir3/file.txt.old

请注意,我只想重命名文件,而不是将其移动到另一个目录.

是否有一个命令可以让我做一个该命令的速记版本?我想的是:

mv dir1/dir2/dir3/file.txt  file.txt.old

或者甚至可能是(只是附加到名称):

mv dir1/dir2/dir3/file.txt  {}.old

我的目标不是要再次指定完整路径.

我知道我写的那些“例子”不起作用,但它只是我想要完成的一个想法.

我不想要进入该目录.

解决方法

对于单个文件尝试
mv dir1/dir2/dir3/file.{txt,txt.old}

在X {a,b}构造扩展为Xa Xb的地方,您可以使用预览

echo dir1/dir2/dir3/file.{txt,txt.old}

看它是否符合你的需要.

注意:

>对于多个文件

mv dir1/dir2/dir3/file{1,2,3}.{txt,txt.old}

不太可能扩展到你想要的. (这将扩展为file.txt file1.txt.old file2.txt的混合…)

> {txt,txt.old}可以根据评论缩短为{,.old}
>如果目录名称不明显,则可以使用通配符.

mv *1/*2/d*/*.{,old}

多个文件使用重命名

rename -n s/txt/old.txt/ dir1/dir2/dir3/file*.txt

drop -n有效重命名.

猜你在找的Linux相关文章