cat comando linux para salvar os resultados de outros comandos

4

Essa pergunta pode ser boba e super fácil para os linux connaisseurs, mas eu estava me perguntando, por exemplo, Eu quero usar o comando > find para procurar um arquivo e enviar os resultados para um arquivo de texto, Alguém sabe como eu posso fazer isso? Eu estou usando o lince lúcido btw

    
por Zloy Smiertniy 26.11.2010 / 07:07

5 respostas

10

Você deseja usar o redirecionamento para isso.

find -somecriteria > somefile.txt
    
por 26.11.2010 / 07:09
1

SE você quiser apenas encontrar determinados arquivos. Como Ignacio respondeu:

find -somecriteria > somefile.txt

Se você quiser encontrar determinados arquivos e exibir o conteúdo desses arquivos.

find -somecriteria -exec cat {} + > somefile.txt
    
por 26.11.2010 / 07:18
0

Você pode executar os comandos do Python usando o módulo subprocesso e salvar os resultados em arquivos de texto. O redirecionamento também funciona (como mostrado por @Ignacio), mas o conteúdo do arquivo será sobrescrito toda vez que o comando for executado.

    
por 26.11.2010 / 07:13
0

Parece que você precisa encontrar o arquivo por FILENAME, em vez de alguns outros critérios.

Existe um utilitário muito melhor do que 'find' disponível, chamado 'locate'. Ele usa o banco de dados de localização para localizar arquivos pelo nome, por isso é muito mais rápido do que pesquisar sobre o sistema de arquivos.

Primeiro, execute 'updatedb' como root para garantir que seu banco de dados de localização esteja atualizado e, possivelmente, adicione um trabalho CRON para ser executado à noite, se já não houver um.

Em seguida, use 'locate filename' ou 'locate -r regexp' para localizar arquivos.

Eu mencionei a segunda opção porque 'locate abc.log' vai encontrar, por exemplo, abc.log.1 e abc.log.1.gz e qualquer outra coisa que corresponda. Então, 'locate -r abc.log \ $' neste caso irá localizar APENAS arquivos chamados abc.log

Finalmente, como já foi mencionado, para colocar a saída resultante do comando em um arquivo, use > como em:

locate -r \^abc.log\$ > /home/me/all.abc.log.files
    
por 27.11.2010 / 07:37
0

Sim, você pode usar o redirecionamento:

$ find . > some_file_name.txt
$ cat some_file_name.txt

O símbolo > no final de um comando redireciona qualquer saída que normalmente iria para o console para ser gravada em um arquivo, cujo nome é após o > .

    
por 26.11.2010 / 07:11