ack + ferramenta como grep (problema)

2

Eu uso a ferramenta ack para encontrar string ou endereço IP no sistema de arquivos

mas por favor veja o seguinte

por que ack não encontra o IP = 10.45.45.130 em / etc / sysconfig / *

o IP = 1: 10.45.45.130 existe sob o diretório da rede no arquivo uoo

lidia

./ack -r 10.45.45.130  /etc/sysconfig/*
   <not get anything?>

./ack -r 10.45.45.130  /etc/sysconfig/network/*
 /etc/sysconfig/network/uoo
 1:10.45.45.130

exemplo de arquivo uoo

 more /etc/sysconfig/network/uoo
 10.45.45.130
    
por lidia 07.09.2010 / 13:02

2 respostas

0

Você tentou ' ack -a '?

Em BetterThanGrep ,

 -a, --all-types       All file types searched;

A opção -r não é necessária (afaik) o comportamento padrão é recursivo.
Para desativar a recursão, use a opção ' -n '.

Agora, para verificar se o ' -a ' vai ajudar você,
Tente seu comando com a opção ' -l ' (em vez da opção ' -r ').
Em seguida, tente novamente com a opção ' -L '.

Você vai descobrir o que está acontecendo com base no local em que o arquivo 'uoo 'aparece nos resultados da pesquisa.

Aqui está o que acontece,

-l, --files-with-matches
                        Only print filenames containing matches
-L, --files-without-matches
                        Only print filenames with no matches

Então, se o seu arquivo não aparecer em nenhum desses formulários, você precisa adicionar a opção ' -a '. ( ack é mais poderoso que grep , mas também é um pouco complicado).

    
por 07.09.2010 / 13:25
0

Por padrão, o ack entra em listas brancas de tipos de arquivos. Se ack não vê o arquivo como um certo tipo, ele o ignora.

Ack é realmente uma ferramenta de programador, não uma ferramenta de administração de sistema.

    
por 07.09.2010 / 16:12

Tags