Ir para o conteúdo
ou

Software livre Brasil

0 amigos

Nenhum(a)

0 comunidades

Nenhum(a)

 Voltar a Linux não é ...
Tela cheia

Contagem de linhas em Shell Script

28 de Julho de 2009, 0:00 , por Software Livre Brasil - 1Um comentário | Ninguém está seguindo este artigo ainda.
Visualizado 2351 vezes

Bem, a uns dias atrás, um amigo me fez uma pergunta:

Léo como eu conto as linhas? Eu preciso listar os processos que estao rodando com o nome de Java, e retornar apenas a quantidade de processos.

Bem, caso seja a pergunta de mais alguém, estou postando aqui.

Fiz um exemplo em um servidor:

Primeira maneira:

damasceno@zabbixserver:~$ ps aux | grep iceweasel
1000 2816 13.2 12.3 184700 91348 ? Sl 11:48 7:04 /usr/lib/iceweasel/firefox-bin -a iceweasel
1000 3214 0.0 0.1 3140 772 pts/0 S+ 12:42 0:00 grep iceweasel
damasceno@zabbixserver:~$ ps aux | grep iceweasel | wc -l
2

Explicação:

Dei o comando PS para listar os processos, e usei os parametros AUX, usei o comando grep após o pipe, que é simbolizado pelo dígito: |, utilizando o pipe você pode executar vários comandos numa mesma linha...
Ou seja, o comando ps aux | grep iceweasel vai me retornar os processos que contenham "iceweasel".

Foram listados dois processos, o comando GREP que foi utilizado, e o iceweasel que está sendo executado( iceweasel é um navegador ).
Então abaixo eu fiz a mesma coisa, utilizei o mesmo comando implementando o wc -l, para contar quantas linhas foram exibidas!
E o resultado foi 2.
Bem eu posso desconsiderar o 2, e utilizar 1, porque?
Bem, simplismente pelo fato de que um dos processos listados é o GREP.
Então, o resultado verdadeiro seria 1.

Ou seja, para listar os processos com Java, eu faria:
# ps aux | grep java | wc -l

Segunda maneira:

Podemos usar o parametro -n do comando cat, o parametro -n faz isso:
-n, --number
number all output lines

Total de números da saida das linhas, abaixo tem a aplicação do comando:

damasceno@zabbixserver:~$ cat -n arquivo.txt
1 a
2 e
3 r
4 as
5 sr
6 as
7

Note, que a sétima linha está vazia, todas as últimas linhas ficam, então fica no mesmo método da primeira maneira, tiramos a última linha pra fazer a contagem, ou seja, temos 6 linhas.

Terceira maneira:

Com o grep -n podemos mostrar quais são as linhas específicas da pesquisa, por exemplo:

damasceno@zabbixserver:~$ cat arquivo.txt | grep -n a
1:a
4:as
6:as

Fiz uma pesquisa, sobre o arquivo arquivo.txt, procurando dentro dele por alguma linha que tivesse "a".

Então, foi exibido o resultado, mostrando 3 linhas, dizendo que a linha um tem "a", a linha dois e três também!

com o grep -n a busca fica mais detalhada. :)



Até a próxima :)


Tags deste artigo: shell script

1Um comentário

  • Person minor(usuário removido)
    28 de Setembro de 2009, 13:27

    Júlio Neves em Brasília

    Você é seu melhor Ivestimento... Matricule-se no curso de Shell Script com Júlio Neves e Ganhe 50% de desconto!!!
    Promoção Valida 21/09/09 a 25/09/09

    Não perca esta oportunidade!!!

    Carga Horária - 32 horas

    Período - de 01/10 à 04/10/09

    Júlio Cezar Neves é um dos maiores especialistas em programação shell no Linux, autor do livro "Programação Shell Linux", que está em sua 7ª edição e colunista da revista Linux Magazine.

    Os scripts em shell são a base do sistema de inicialização do Linux, são utilizados em todo tipo de ferramenta de configuração e vários outros tipos de aplicativos. Você sabia que a maior parte dos utilitários de configuração do Debian, Slackware e Kurumin são scripts em shell e que quase todos os pacotes do Debian e de todas as principais distribuições são gerados de forma semi-automática graças a eles?

    Este curso é destinado a fornecer uma visão aprofundada dos recursos e lógica do shell, ensinando como desenvolver scripts complexos.

    Visite Nosso Blog: trai​ning​tecn​olog​ia.w​ordp​ress​.com


Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.