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.

Was it helpful?

Solution

With GNU cp

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

OTHER TIPS

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/
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top