如何复制文件以及符合其路径的所有目录

时间:2014-05-12 20:03:02

标签: linux bash shell command-line

是否有一种简单的方法可以复制嵌套在已嵌套目录中的特定文件,从而创建一个嵌套文件结构的目录结构(在linux中)?

例如

;

copy_command A/B/C/a.txt OTHER_DIR

会创建

OTHER_DIR/A/B/C/a.txt

将目录结构A / B / C创建到OTHER_DIR并将文件a.txt复制到相应的目录上。

2 个答案:

答案 0 :(得分:2)

使用GNU cp

cp --parents -- A/B/C/a.txt OTHER_DIR

答案 1 :(得分:0)

${var_name%pattern}语法从变量的值中删除pattern。考虑到这一点:

file="A/B/C/a.txt"
mkdir -p "OTHER_DIR/${file%/*}"
cp "$file" "OTHER_DIR/${file%/*}/"

相当于:

mkdir -p OTHER_DIR/A/B/C
cp A/B/C/a.txt OTHER_DIR/A/B/C/