Comando do Ubuntu bash find -exec

1

Eu quero listar todos os arquivos que terminam com "conf" e enviar os resultados para um determinado arquivo (com o comando "find -exec" ).

Eu tentei isso:

find -name *conf -exec /home/ubuntu/myfile

Isso está errado?

    
por pedro 26.03.2010 / 19:39

2 respostas

10

-exec é usado para executar um programa, não imprimindo a saída. Use -print para imprimir a saída e o redirecionamento do shell ( > ) para armazenar essa saída em um arquivo:

find -name \*conf -print > /home/ubuntu/myfile

Observe que escapei do * com uma barra invertida; isso ocorre porque o shell tentará corresponder ao caractere curinga antes de iniciar find , portanto, se você tiver um arquivo que tenha terminado em conf no diretório atual, o shell substituirá *conf por esse nome de arquivo (ou nomes) antes de iniciar o find .

    
por 26.03.2010 / 19:42
5
find /path -type f -iname "*.conf" > /home/ubuntu/myfile
    
por 27.03.2010 / 03:55