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 :)
Contagem de linhas em Shell Script
28 de Julho de 2009, 0:00 - Um comentário | Ninguém está seguindo este artigo ainda.
Visualizado 2351 vezes
1Um comentário
Júlio Neves em Brasília
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: trainingtecnologia.wordpress.com