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

发布时间 2023-12-01 10:39:06作者: 逐梦北京

1、https://blog.csdn.net/afsdfq/article/details/106890424?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-1-106890424.pc_agg_new_rank&utm_term=mv%E6%8E%92%E9%99%A4%E6%96%87%E4%BB%B6&spm=1000.2123.3001.4430

假设目录结构如下:

  1.  
    |parent
  2.  
    |--child1
  3.  
    |--child2
  4.  
    |--grandChild1
  5.  
    |--grandChild2
  6.  
    |--grandChild3
  7.  
    |--grandChild4
  8.  
    |--grandChild5
  9.  
    |--grandChild6

现在要改为:

  1.  
    |parent
  2.  
    |--child1
  3.  
    |--grandChild1
  4.  
    |--grandChild2
  5.  
    |--grandChild3
  6.  
    |--grandChild4
  7.  
    |--grandChild5
  8.  
    |--grandChild6
  9.  
    |--child2

需要将除了child1、child2目录的其他文件移动到目录child1下。
使用下面的命令即可实现:

mv !(child1|child2) child1

若遇到

-bash: !: event not  

错误,请执行

shopt -s extglob

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

 

 

2、

# mv !(a|back) back