Como copio arquivos que acabei de procurar através da linha de comando?

0

Usando o Ubuntu 12.04, preciso de ajuda para copiar arquivos que foram retornados de uma pesquisa com grep .

Eu tenho muitos arquivos pdf, então, para filtrar arquivos nomeados específicos, estou usando o comando General grep como  segue.

raja@badfox:~/Desktop/mtech/M.Tech II Sem-April 2012$ grep "DESIGN OF FAULT TOLERANT SYSTEMS" *.pdf
Binary file NR-DESIGN OF FAULT TOLERANT SYSTEMS.pdf matches
Binary file R09-DESIGN OF FAULT TOLERANT SYSTEMS.pdf matches

Como faço para copiar automaticamente os arquivos retornados da pesquisa para outro diretório?

    
por rɑːdʒɑ 02.08.2012 / 19:38

2 respostas

5

Uma maneira mais fácil de fazer isso seria usar apenas cp .

cp *"DESIGN OF FAULT TOLERANT SYSTEMS"*.pdf /some/folder/
    
por reverendj1 02.08.2012 / 19:49
3

Outra maneira de fazer isso em geral quando você está pesquisando arquivos é em conjunto com o comando find , por exemplo,

find -name "*DESIGN OF FAULT TOLERANT SYSTEMS*.pdf" -exec cp '{}' /some/folder/ \;

que combina a pesquisa e a cópia (geralmente qualquer ação que você queira executar nos arquivos) em um comando.

Se você quisesse limitar a pesquisa ao diretório atual, poderia adicionar a opção -maxdepth 1 ao comando find.

find tem muitas opções para especificar quais caminhos pesquisar ou não, incluindo a verificação de horários de modificação, especificadores de caminho, nomes de arquivos e muito mais. Usado corretamente, é uma ferramenta extremamente poderosa.

    
por jmetz 02.08.2012 / 20:33