Questão cat comando linux para salvar resultados de outros comandos


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 por 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


4


origem




Respostas:


Você quer usar redirecionamento por esta.

find -somecriteria > somefile.txt

10



Como podemos procurar um arquivo como saveuser.php no servidor inteiro no linux, este é o mesmo comando será executado no Ubuntu?
@Rahul: Todos os sistemas GNU / Linux e BSD find disponível de uma forma ou de outra. - Ignacio Vazquez-Abrams
Como podemos pesquisar um arquivo como saveuser.php no servidor inteiro no Ubuntu?
find $doc_root -name saveuser.php - se você não conhece o doc_root do seu servidor web, use / - glenn jackman
Você também pode querer olhar para o comando 'tee', que irá gravá-lo em um arquivo e imprimir no stdout ao mesmo tempo. - Bron Gondwana


SE você só quer encontrar certos 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

1



Obrigado isso funciona se o arquivo existe, mas se ele não, então ele não salva a mensagem, você sabe como fazer isso?
Desculpe, eu não entendi você. você quer dizer o comando superior ou inferior?


Você pode executar os comandos do Python usando o subprocesso módulo e salve 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.


0



Se ele quiser anexar a um arquivo, ele pode usar o >> operador.


Parece que sua necessidade é encontrar o arquivo por FILENAME em vez de alguns outros critérios.

Há um utilitário muito melhor para isso 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 procurar pelo 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 executá-lo todas as noites, se já não houver um.

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

Menciono a segunda opção porque 'locate abc.log' encontrará, por exemplo, abc.log.1 e abc.log.1.gz e o que mais corresponder. 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> as in:

locate -r \^abc.log\$ > /home/me/all.abc.log.files

0





Sim, você pode usar o redirecionamento:

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

o > Um 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 >.


0



Isso não é um cachimbo. - Ignacio Vazquez-Abrams
Eu acho que é :-) eu posso estar errado <br/>google.com.au/…
Tu es. A partir do primeiro resultado retornado pela pesquisa vinculada: "Você notará que um canal é definido pelo | símbolo - não um i maiúsculo ou o número um, mas uma barra vertical. ", antes de apresentar os tubos como uma maneira melhor de fazer as coisas do que usar o redirecionamento (com <e >) para gravar a saída de um comando em um arquivo e depois ler esse arquivo como entrada para outro comando. - Dave Sherohman