如何在不复制终端中特定文件或子目录的情况下复制目录?

齐亚多姆

我有一个目录main_dir,其中包含许多文件和3个子目录(dir1和dir2和dir3)。我想将其复制到另一个位置,而不用一个命令复制dir2。我搜索了cp手册,以查看是否可以通过某种方式完成此操作,但是我没有找到答案。我唯一的解决方案是复制整个目录,然后在复制的位置删除dir2。

cp -r main_dir ~/Documents/main_dir_copy
cd ~/Documents/main_dir_copy
rm -r dir2

有没有一种方法可以不必复制dir2的所有内容然后删除它?

钢铁司机

在bash中,您可以使用扩展的glob来实现求反。

给定

$ tree main_dir
main_dir
├── dir1
│   ├── other file
│   └── somefile
├── dir2
│   ├── other file
│   └── somefile
├── dir3
│   ├── other file
│   └── somefile
└── file

3 directories, 7 files

然后

shopt -s extglob
cp -r main_dir/!(dir2) main_dir_copy/

导致

$ tree main_dir_copy
main_dir_copy
├── dir1
│   ├── other file
│   └── somefile
├── dir3
│   ├── other file
│   └── somefile
└── file

2 directories, 5 files

需要注意的是,因为这递归复制内容main_dir(不包括定dir2),而不是main_dir本身的目标目录main_dir_copy必须已经存在-如果没有,添加mkdir main_dir_copy到命令序列。

也可以看看

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Visual Studio:如何在不复制文件夹结构的情况下“复制到输出目录”?

如何在不进入子目录的情况下迭代目录

如何在不复制的情况下使用std :: string?

如何在不复制代码的情况下消除耦合?

如何使用aws s3 cp复制根目录中的所有对象,而不复制子目录?

如何在不添加/index.html的情况下将索引页面打开到子目录中

如何在不复制的情况下使用本地输入文件在容器中运行命令

从NuGet使用WinSCPnet时,如何在不复制exe的情况下将可执行文件放入自定义输出目录?

如何在不中断上层导入的情况下从子目录运行Python脚本?

如何在不使用Java NIO删除目录本身的情况下删除目录(文件和子目录)的内容?

如何在所有子目录中查找文件并将其复制?

如何在不删除bash目录的情况下删除目录中的所有文件和子目录?

如何根据原始文件的更改重命名复制目录中的文件和子目录?

如何在Linux中复制隐藏的(以点开头)文件和子目录?

如何只复制匹配的文件,保留子目录

Robocopy不复制子目录中的文件

使用终端将内容/文件复制到目录中的所有子目录

如何根据目录和子目录中的txt文件复制和重命名文件

如何在不通过bash脚本触及子目录的情况下将日期附加到目录中的所有文件

如何在不复制文件的情况下从其他多个目录创建并自动同步“合并”目录?

复制文件时制作子目录

如何在不丢失父目录的情况下将多个同名文件从子目录复制到另一个目录?

如何在不复制目录内容的情况下复制文件和目录?

如何通过终端在每个子目录中复制除一个文件以外的整个目录?

如何将文件复制到子目录?

默认情况下如何在同一目录中复制终端会话并获取root用户

如何使用终端将文件复制到具有相同名称的特定子目录?

如何在父目录linux的子目录中查找和复制文件

如何在不复制元素的情况下交换数组