重命名文件的最快方法,无需重新输入目录路径

重命名文件的最快方法,无需重新输入目录路径

我知道如何在 Unix 中重命名文件:

$ mv ~/folder/subfolder/file.txt ~/folder/subfolder/file.sh

     ^-------this part------^    ^------this part-------^

重复两次需要很长时间~/folder/subfolder/file

有没有更快的方法?

答案1

如果你的外壳支持的 支撑扩张(适用于csh, tcsh, ksh, zsh, bash, mksh, lksh, pdksh,yash大括号展开yash --brace-expand通过在交互式 shell 中使用set -o brace-expand, 或)调用或设置来启用fish

mv ~/folder/subfolder/file.{txt,sh}

答案2

您还可以使用rename(util-linux 包的一部分)。

rename .txt .sh ~/folder/subfolder/file.txt

请参阅重命名手册页更多细节。

答案3

以上这些都很好。这也可以:

( cd ~/folder/subfolder && mv file.txt file.sh )

答案4

只是为了扩展 cuonglm 答案的有用性(不接受任何功劳,因为我喜欢他的解决方案),他的答案是正确的。

用例是我们经常想要 mv 远程位置的文件(真正的问题),例如 /folder/subfolder/configFile.dat TO configFile.dat.orig

这种形式的命令添加文件扩展名(不替换原来的扩展)

mv ~/folder/subfolder/file.txt{,.orig}

解释:“{,.orig}”表示将文件名末尾的(无)替换为(某物)“.orig”

或者删除文件扩展名(反转重命名)

mv ~/folder/subfolder/file.txt{.orig,}

注意:仍然是“无需重新输入目录路径即可重命名文件的最快方法”的主题

相关内容