#!/bin/bash #=============================================================================== # # FILE: copydirtree.sh # # USAGE: ./copydirtree.sh source dist # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Terman Lee (), # COMPANY: # CREATED: 2011年09月30日 10时38分12秒 CST # REVISION: --- #=============================================================================== set -o nounset # Treat unset variables as an error #处理参数 PARAM_OK=true if [ -d $1 ] then SOURCE=`readlink -f $1`/ else PARAM_OK=false fi if [ -d $2 ] then TARGET=`readlink -f $2`/ else PARAM_OK=false fi if $PARAM_OK then #创建替换正则表达式 PATTERN="s;$SOURCE;$TARGET;" #用find命令查找所有源目录,并利用sed和tr命令生成创建目录的脚本 find $SOURCE -type d -printf '"%p"\t'|tr '\n' '\0'|tr '\t' '\n'|sed $PATTERN|sed 's/^/mkdir /'|tr '\0' '\n'|tr -s '/'|bash -x fi
该脚本使用方法:
copydirtree.sh <源目录> <目标目录>