linux mv命令排除某个文件或文件夹

  • Post author:
  • Post category:linux


来源

http://stackoverflow.com/a/18143395/1412039

假设目录结构如下:

|parent
    |--child1
    |--child2
    |--grandChild1
    |--grandChild2
    |--grandChild3
    |--grandChild4
    |--grandChild5
    |--grandChild6

现在要改为:

|parent
    |--child1
    |   |--grandChild1
    |   |--grandChild2
    |   |--grandChild3
    |   |--grandChild4
    |   |--grandChild5
    |   |--grandChild6
    |--child2

需要将除了child1、child2目录的其他文件移动到目录child1下。

使用下面的命令即可实现:

mv !(child1|child2) child1

若遇到

-bash: !: event not  

错误,请执行

shopt -s extglob

表示扩展模式匹配操作符,就可以使用更多的通配符。