Linux 如何复制文件和构成其路径的所有目录

Linux 如何复制文件和构成其路径的所有目录,linux,bash,shell,command-line,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复制到其相应的DIR中。语法从变量的值中删除模式。考虑到这一点: file="A/B/C/a.txt" mkdir -p "OTHER_DIR/${file%/*}" cp "

是否有一种简单的方法可以复制嵌套在已嵌套目录中的特定文件,并创建一个目录结构,其嵌套方式与其文件路径相同(在linux中)

比如,

copy_command A/B/C/a.txt OTHER_DIR
会创造

OTHER_DIR/A/B/C/a.txt

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

语法从变量的值中删除
模式。考虑到这一点:

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/

使用GNU
cp

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