cp comando para excluir certos arquivos sejam copiados

16

Existe uma maneira de usar o comando 'cp' para copiar um diretório e excluir certos arquivos / subdiretórios dentro dele?

    
por Stephen Jacob 17.08.2013 / 05:07

2 respostas

31

Use rsync :

rsync -av --exclude='path1/to/exclude' --exclude='path2/to/exclude' source destination

Observe que usar source e source/ é diferente. Uma barra à direita significa copiar o conteúdo da pasta source em destination . Sem a barra final, isso significa copiar a origem da pasta em destination .

Como alternativa, se você tiver muitos diretórios (ou arquivos) para excluir, use --exclude-from=FILE , em que FILE é o nome de um arquivo que contém arquivos ou diretórios a serem excluídos.

--exclude também pode conter curingas, como --exclude=*/.svn*

copiado de: link

Se você quiser usar o cp em si:

find . -type f -not -iname '*/not-from-here/*' -exec cp '{}' '/dest/{}' ';'

Isso pressupõe que a estrutura do diretório de destino seja a mesma da fonte.

Copiado de: link

    
por saji89 17.08.2013 / 05:23
2

Tarde no jogo, mas aqui está uma solução muito diferente usando plain bash e cp: você pode usar uma especificação de arquivo global enquanto tem alguns arquivos ignorados.

Suponha que o diretório contenha os arquivos:

$ ls *
listed1  listed2  listed3  listed4  unlisted1  unlisted2  unlisted3

Usando a variável GLOBIGNORE :

$ export GLOBIGNORE='unlisted*'
$ ls *
listed1  listed2  listed3  listed4

Ou com exclusões mais específicas:

$ export GLOBIGNORE='unlisted1:unlisted2'
$ ls *
listed1  listed2  listed3  listed4  unlisted3

Ou usando correspondências negativas :

$ ls !(unlisted*)
listed1  listed2  listed3  listed4

Isso também suporta vários padrões incomparáveis:

$ ls !(unlisted1|unlisted2)
listed1  listed2  listed3  listed4  unlisted3
    
por xenoid 13.06.2016 / 21:27
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '7602',
    'url' => 'cp-command-to-exclude-certain-files-from-being-copied',
];

$_SESSION = [
    '__flash' => [],
];