Vra

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 dit nuttig?

Oplossing

With GNU cp

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

Ander wenke

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/
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top