Question

Is there an easy way to copy an specific file nested in an already nested directory creating an structure of directories nested in the same way its file path (in linux)?

for instance;

copy_command A/B/C/a.txt OTHER_DIR

would create

OTHER_DIR/A/B/C/a.txt

creating the directory structure A/B/C into OTHER_DIR and copying the file a.txt on his corresponding dir.

Était-ce utile?

La solution

With GNU cp

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

Autres conseils

The ${var_name%pattern} syntax removes pattern from the variable's value. With that in mind:

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

Which is equivalent to:

mkdir -p OTHER_DIR/A/B/C
cp A/B/C/a.txt OTHER_DIR/A/B/C/
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top