cp dificuldade de sintaxe do comando

1

Resgatei muitos arquivos de um disco rígido com falha. Eles estão em 500 subdiretórios, cada um contendo 500 arquivos.

Estou tentando copiar todos os arquivos em todas as pastas para novos diretórios de assuntos (como jpg, mp3, etc.)

Dentro do diretório de nível superior (MikeO), estou usando o seguinte comando:

cp -R * /test1

onde test1 já foi criado sob MikeO

Isso apenas recria toda a estrutura do subdiretório e todos os arquivos no test1

cp -R *.jpg /test1 results in:
cp: cannot stat ‘*.jpg’: No such file or directory

alguém pode me apontar na direção certa?

    
por TonyC 06.12.2014 / 12:27

2 respostas

1

Não há arquivos com o nome " .jpg" no local onde você emitiu o comando. Você precisa tomar esse literal: " .jpg" não é " .JPG" ou " .jpg" ou qualquer outra combinação. O Windows é diferente dessa forma: ele será visto como o mesmo.

No mesmo diretório, execute ls e ele mostrará o conteúdo desse diretório. ls *jpg para listar todos os arquivos que terminam em *.jpg .

Lembre-se de que -R significa recursivo, mas que se aplica apenas a diretórios ao copiar. Isso não significa que você obterá todos os arquivos em todos os diretórios que possuem um arquivo que termina em *.jpg .

Se você quiser encontrar todos os arquivos terminados em * .jpg e copiá-los para / test1 /, isso funcionará:

find . -depth -name '*.jpg' -print | cpio -pmdv /test1/

Adicione um ~ a / test1 / se estiver no seu diretório pessoal.

  

onde test1 já foi criado sob MikeO

O que você quer dizer com isso? Se você encontrar o diretório inicial "MikeO": o / começa em / (ou seja, root). Se você encontrar /home/MikeO/test / precisará de um ~ na frente do /test1 .

    
por Rinzwind 06.12.2014 / 13:10
0

Você pode usar o comando rsync em vez de cp para copiar arquivos de extensão específicos. A seguir, o comando para copiar apenas arquivos de extensão .jpg.

rsync -pavr                                                 \
    --include '+ */' --include '*.jpg' --exclude '- *'      \
    /path/to/source/directory  /path/to/destination/directory
    
por Ketankumar Patel 06.12.2014 / 14:44