Usando o grep para listar a quantidade de linhas [RESOLVIDO]

1. Usando o grep para listar a quantidade de linhas [RESOLVIDO]

Jefferson
Json

(usa Debian)

Enviado em 03/02/2016 - 11:01h

Ola pessoal,

Seguinte estou querendo saber como posso fazer uma pesquisa em um arquivo utilizando o grep, por exemplo vamos supor que o meu arquivo tem aproximadamente 12 linhas, como faço para utilizar o comando grep em uma condicional if, onde eu digo que a quantidade de linhas do arquivo deve conter <= 12 linhas?


  


2. MELHOR RESPOSTA

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 03/02/2016 - 12:26h

Acho que entendi. rs
São varios arquivos ou apenas 1?

VE se assim te resolve:

Arquivo único:
if [ $(cat seu_arquivo | wc -l) -le 12 ] then echo 'o arquivo tem até 12 linhas'; else echo ' o arquivo tem mais de 12 linhas';fi 


Usei o comando echo para ilustrar. Obviamente vc pode trocar o echo pelo comando desejado (por. exemplo grep)
A tradução seria assim:

if : Se
[ $(cat seu_arquivo | wc -l) -le 12 ] : O seu_arquivo conter até 12 linhas
then : Então
echo : Escreva na tela a msg 'o arquivo tem até 12 linhas';
else: Senão
echo : Escreva na tela a msg ' o arquivo tem mais de 12 linhas';
fi: Fim do boco IF

---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---

3. Re: Usando o grep para listar a quantidade de linhas

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 03/02/2016 - 12:04h

Olá,

Não entendi.
A condição é o arquivo ter de 0 a 12 linhas e se de fato tiver, realizar o grep?
Se sim, seria assim:

for i in *;do if [ $(wc -l $i| sed 's/[^0-9]//g') -le 12 ]; then grep 'sua busca' $i;fi;done  

O comando acima vai listar todos os arquivos na pasta corrente e realizar o grep somente nos arquivos que contenham de 0 a 12 linhas.

abs,

---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


4. Re: Usando o grep para listar a quantidade de linhas [RESOLVIDO]

Jefferson
Json

(usa Debian)

Enviado em 03/02/2016 - 12:17h

Obrigado por ter respondido, mas não seria essa minha duvida. Vou esclarecer

Eu preciso parar uma aplicação no servidor, e estou utilizando o comando grep para listar os processos finalizados, dessa forma armazenando esses processos finalizados em um arquivo. No entanto eu preciso verificar se a aplicação foi parada e a maneira de fazer isso é verificando se a quantidade de processos listados no arquivo for menor ou igual a 12. O if seria para fazer esta verificação para ver se o conteúdo do arquivo tem estas 12 linhas.


5. Re: Usando o grep para listar a quantidade de linhas [RESOLVIDO]

Jefferson
Json

(usa Debian)

Enviado em 03/02/2016 - 12:32h

Era só um arquivo mesmo deu certo agora, Valeu!

O tópico já pode ser encerrado.


6. Re: Usando o grep para listar a quantidade de linhas [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 03/02/2016 - 12:39h

Que bom que deu certo!

Editei minha resposta com a explicação do comando caso queira entender.

abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts