unix - 如何在Unix中交换文件名?

标签 unix filenames swap

有什么方法可以在不使用临时变量的情况下快速执行此操作?有内置函数吗?

编辑:感谢各位的回答。看起来我需要澄清我的问题,但在大多数情况下,你们假设是正确的:有两个文件,文件名颠倒了。

  • 文件 A 的名称为 B-name.file
  • 文件 B 的名称为 A-name.file

  • 我希望将文件 A 命名为 A-name.file,将文件 B 命名为 B-name.file。

    我同意,这种情况并不经常发生,但它只是发生在我身上,我想快速解决。

    最佳答案

    这可以通过小 helper 完成,只需放入 .bashrc、.zshrc 或您的配置文件中即可。

    function swap() { mv "$1" "$1._tmp" && mv "$2" "$1" && mv "$1._tmp" "$2"; }
    

    并将其用作常规功能:
    $ cat a b
    Alfa
    Beta
    
    $ swap a b && cat a b
    Beta
    Alfa
    

    关于unix - 如何在Unix中交换文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1987303/

    相关文章:

    linux - 用于打印两个匹配模式之间的数据的 Unix 命令

    java - 使用java检查以ftp位置中的名称开头的文件

    xcode - 有什么方法可以阻止 Xcode 生成这样的文件夹吗?

    windows - 内存分配与交换(在 Windows 下)

    c - 与交换空间相关的链接器性能?

    c# - 如何让一个对象在鼠标点击时移动并与另一个对象交换位置

    c - 检测日志文件已在 POSIX 系统上被删除或截断?

    c++ - Bison 风格 : is using my own stack bad? 全局变量不好吗?

    c++ - 在 Unix C++ 中列出文件夹根目录中的文件和目录

    python - 有问题的文件名 - 是拉丁文吗?我如何将其转换为 ascii?