使用直接父文件夹作为两个位置的参考,将整个目录从源复制到目标

拉维·亚达夫(Ravi yadav)

**

  • 问题一:

**先决条件:源和目标应具有相同的目录名称。目录的深度级别可能会有所不同,而不是名称

关于源和目标结构的注释:

  1. sampleFolder和Project1是路径中唯一的常用部分
  2. 有多个目录需要复制
  3. 目录和不在同一路径中,它们可能是一级深,二级深,所以基本上我需要在处理文件之前搜索参考文件夹
mydir
|__ sampleFolder/fil.txt
|__ Project1/fil2.txt

desDir
  |__ some_path/More_path/sampleFolder/
  |__ some_path/More_path/some_more_path/Project1/

目的:将文件夹中的文件复制mydir/sampleFolder/file.txtdesDir/some_path/sampleFolder/file.txt

注意:路径层次结构不同,但sampleFolder源路径和目标路径都相同

命令

find $HOME/mydir/ -type f -name *.txt -exec sh -c 'cp {}' 'find $HOME/des_dir -type d -path `echo $(dirname -- {}) | sed s"~$HOME/mydir~~g"`' sh {} \;

命令分解1:这将获得父目录并$HOME/mydir从搜索到的*.txt文件路径中删除

echo $(dirname -- {}) | sed s"~$HOME/mydir~~g"

命令分解2:将搜索执行命令分解1后收到的路径匹配字符串

find $HOME/des_dir -type d -path 

命令分解3:这很常见(我猜)

find $HOME/mydir/ -type f -name *.txt -exec sh -c 'cp {}'

**

  • 问题2

**问题1使用以下命令解决,并且如果我在cygwin中作为独立命令运行它,则可以正常工作

find $HOME/MY_DIR/ -type d -name data -exec sh -c 'rsync -avz {} `find $HOME/DES_DIR-type d -name $(basename $(dirname -- {}))`' sh {} \;

但是如果我在shell脚本中使用此命令并在cygwin中运行脚本,则会出现错误

protocol version mismatch - is your shell clean?
(see the rsync man page for an explanation)

rsync error: protocol incompatibility (code 2) at compat.c(60)
Mylo Mylo

您要执行的操作有点模棱两可,但rsync如果您打算复制整个目录,则可能会比较合适。

例如

$ rsync -avz level2 level3/test/
sending incremental file list
level2/
level2/out.txt
level2/rds.aws.test.lambda.json

sent 380 bytes  received 58 bytes  876.00 bytes/sec
total size is 341  speedup is 0.78
$ ls level3/test/
level2
$ ls level3/test/level2/
out.txt  rds.aws.test.lambda.json

如果只需要* .txt文件并保留目录结构,则需要R向rsync添加选项

$  rsync -avzR level2/*.txt level3/test2
sending incremental file list
level2/
level2/out.txt

sent 178 bytes  received 39 bytes  434.00 bytes/sec
total size is 65  speedup is 0.30

$ ls level3/test2/level2/
out.txt

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将整个文件夹从源复制到目标,并从目标中删除多余的文件或文件夹

来自分类Dev

将文件夹中的所有内容复制到两个文件目标文件夹中

来自分类Dev

将第一级的子文件夹和文件从源位置复制到目标位置 CMD

来自分类Dev

同步两个文件夹,成功后将一个文件从一个位置复制到另一个

来自分类Dev

Powershell将文件从源复制到目标,但保持文件夹结构

来自分类Dev

Powershell:将父文件夹中的所有子目录和内容复制到另一个文件夹目标

来自分类Dev

使用PowerShell将文件夹和子文件夹中的复制项文件复制到源服务器的同一目录结构中

来自分类Dev

将文件从子文件夹和主目录复制到另一个位置 c#

来自分类Dev

动态地将文件从文件夹和子文件夹复制到目标位置

来自分类Dev

将文件夹内容复制到Rake中的父目录(在Windows上)

来自分类Dev

如果不存在,如何将更新的文件复制到新文件夹并创建目录作为源?

来自分类Dev

如何将文件从其他文件夹复制到WINDOWS中的单个位置?

来自分类Dev

将目录结构复制到枚举的文件夹

来自分类Dev

将目录和子目录中的特定文件复制到mac中的目标文件夹中

来自分类Dev

使用Windows bat脚本将随机文件从随机子文件夹复制到目标文件夹

来自分类Dev

使用Google Drive API将文件复制到特定的父文件夹中吗?

来自分类Dev

如何将文件从源复制到目标并重新创建文件夹结构

来自分类Dev

将文件从子文件夹复制到父文件夹并使用父文件夹名称重命名文件

来自分类Dev

AppleScript-将文件夹从一个位置复制到另一个位置时,排除某些文件

来自分类Dev

Maven将两个单独的目录及其文件复制到不同的位置

来自分类Dev

通过排除具有特定名称的所有子文件夹将文件夹复制到另一个位置

来自分类Dev

将文件复制到另一个文件夹,同时保留一个父目录

来自分类Dev

如何使用通配符将文件复制到目标位置?

来自分类Dev

同时复制到两个位置

来自分类Dev

如何仅将文件从源复制到文件夹中存在的目标,不应该复制其他所有文件

来自分类Dev

如何在perl脚本中将整个目录复制到perticular文件夹

来自分类Dev

当目标文件夹存在时,如何将子项复制到目标?

来自分类Dev

将C#项目中包含的文件夹内容复制到没有父文件夹的输出目录中

来自分类Dev

使用groovy脚本将整个目录从一个位置复制到另一位置

Related 相关文章

  1. 1

    将整个文件夹从源复制到目标,并从目标中删除多余的文件或文件夹

  2. 2

    将文件夹中的所有内容复制到两个文件目标文件夹中

  3. 3

    将第一级的子文件夹和文件从源位置复制到目标位置 CMD

  4. 4

    同步两个文件夹,成功后将一个文件从一个位置复制到另一个

  5. 5

    Powershell将文件从源复制到目标,但保持文件夹结构

  6. 6

    Powershell:将父文件夹中的所有子目录和内容复制到另一个文件夹目标

  7. 7

    使用PowerShell将文件夹和子文件夹中的复制项文件复制到源服务器的同一目录结构中

  8. 8

    将文件从子文件夹和主目录复制到另一个位置 c#

  9. 9

    动态地将文件从文件夹和子文件夹复制到目标位置

  10. 10

    将文件夹内容复制到Rake中的父目录(在Windows上)

  11. 11

    如果不存在,如何将更新的文件复制到新文件夹并创建目录作为源?

  12. 12

    如何将文件从其他文件夹复制到WINDOWS中的单个位置?

  13. 13

    将目录结构复制到枚举的文件夹

  14. 14

    将目录和子目录中的特定文件复制到mac中的目标文件夹中

  15. 15

    使用Windows bat脚本将随机文件从随机子文件夹复制到目标文件夹

  16. 16

    使用Google Drive API将文件复制到特定的父文件夹中吗?

  17. 17

    如何将文件从源复制到目标并重新创建文件夹结构

  18. 18

    将文件从子文件夹复制到父文件夹并使用父文件夹名称重命名文件

  19. 19

    AppleScript-将文件夹从一个位置复制到另一个位置时,排除某些文件

  20. 20

    Maven将两个单独的目录及其文件复制到不同的位置

  21. 21

    通过排除具有特定名称的所有子文件夹将文件夹复制到另一个位置

  22. 22

    将文件复制到另一个文件夹,同时保留一个父目录

  23. 23

    如何使用通配符将文件复制到目标位置?

  24. 24

    同时复制到两个位置

  25. 25

    如何仅将文件从源复制到文件夹中存在的目标,不应该复制其他所有文件

  26. 26

    如何在perl脚本中将整个目录复制到perticular文件夹

  27. 27

    当目标文件夹存在时,如何将子项复制到目标?

  28. 28

    将C#项目中包含的文件夹内容复制到没有父文件夹的输出目录中

  29. 29

    使用groovy脚本将整个目录从一个位置复制到另一位置

热门标签

归档