如何编写一个 shell 脚本,将整个子目录结构复制为另一个子目录的结构?

如何编写一个 shell 脚本,将整个子目录结构复制为另一个子目录的结构?

编写一个 shell 脚本,将整个子目录结构复制为另一个子目录的结构。这两个子目录作为命令行的参数读取。请大家帮忙,我真的需要你们的帮助。

答案1

您可以使用复制目录结构太平洋保险协会

$ find -depth -type d -print0 | cpio -0 -pvdm ../target

或者

$ find source -depth -type d \
  -printf %P\\0 | cpio -0 -pvdm -D source target

脚本.sh:

#!/bin/bash

shopt -s extglob

[[ $# != 2 ]] \
      && exit 1

[[ ! -d $1 || ! -d $2 ]] && exit 1

find "$1" -depth -type d \
  -printf %P\\0 | cpio -0 -pvdm -D "$1" "${2%%+(/)}"

$ ./script.sh source/ target/

相关内容