Alternativa a cp -parents nel terminale


0

Stavo cercando di usare il --parents opzione con cp (per creare le directory non esistenti nel percorso di destinazione) nel terminale ma quell'opzione non sembra funzionare in MacOS.

>cp --parents src_dir trgt_dir
cp: illegal option -- -
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory

Qualche alternativa?

Risposte:


5

rsync -R ( --relative ) è come cp --parents. Così rsync -rR a/b c copie a c/a/b invece di c/b.

O semplicemente installa GNU cp con brew install coreutils o sudo port install coreutils e usare gcp -r --parents a/b c.


1

(Utilizzando tree per visualizzare le directory. Installato da homebrew )

[valbaca@AppleJack foo]\$ tree
.
└── a
    └── b
        └── c
            └── d

3 directories, 1 file
[valbaca@AppleJack foo]\$ cp -R a blah
[valbaca@AppleJack foo]\$ tree
.
├── a
│   └── b
│       └── c
│           └── d
└── blah
    └── b
        └── c
            └── d

0

Forse usare mkdir -p per prima cosa creare il percorso verso la directory di destinazione.

mkdir -p foo/bar/cheese
cp src_dir foo/bar/cheese
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.