Alternativa a cp --parents nel terminale

0

Stavo cercando di utilizzare l'opzione --parents 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?

    
posta amphibient 09.08.2013 - 23:46
fonte

3 risposte

5

rsync -R ( --relative ) è come cp --parents . Quindi rsync -rR a/b c copie in c/a/b anziché c/b .

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

    
risposta data 10.08.2013 - 09:24
fonte
1

(Uso di 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
    
risposta data 10.08.2013 - 08:23
fonte
0

Forse usa mkdir -p per creare prima il percorso della directory di destinazione.

mkdir -p foo/bar/cheese
cp src_dir foo/bar/cheese
    
risposta data 10.08.2013 - 01:41
fonte

Leggi altre domande sui tag