Frage

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.

War es hilfreich?

Lösung

With GNU cp

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

Andere Tipps

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/
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top