cp mv 使用通配符时 对一些文件进行排除

问题描述

现有几个文件和一个文件夹,想把这几个文件,放到文件夹中。

常规操作

(base) [dengfei@ny01 a]$ mv * test
mv: 无法将目录"test" 移动至自身的子目录"test/test" 下

结果也成功了,但是出现报错:mv: 无法将目录"test" 移动至自身的子目录"test/test" 下

将test排除

mv `ls|grep -v "test"` test

命令解析:

  • 使用反引号````,会调用系统命令
  • ls打印出当前所有文件
  • 然后使用通配符|
  • 然后使用grep -v进行排除test
  • 最后使用mv,成功搞定。
(base) [dengfei@ny01 a]$ ls
a  b  c  d  e  f  g  test
(base) [dengfei@ny01 a]$ mv `ls|grep -v "test"` test
(base) [dengfei@ny01 a]$ tree
.
└── test
    ├── a
    ├── b
    ├── c
    ├── d
    ├── e
    ├── f
    └── g

1 directory, 7 files


搞定!

发布了245 篇原创文章 · 获赞 89 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/yijiaobani/article/details/103166784