{"id":3387,"date":"2014-05-27T11:31:19","date_gmt":"2014-05-27T14:31:19","guid":{"rendered":"https:\/\/cleuber.com.br\/?p=3387"},"modified":"2015-11-03T09:20:39","modified_gmt":"2015-11-03T11:20:39","slug":"linux-terminal-usando-grep-pipe","status":"publish","type":"post","link":"https:\/\/cleuber.com.br\/index.php\/2014\/05\/27\/linux-terminal-usando-grep-pipe","title":{"rendered":"Linux: Terminal &#8211; Usando Grep + Pipe"},"content":{"rendered":"<p>Para n\u00f3s, administradores de sistemas, com a necessidade de visualizar arquivos e processos de modo eficiente, nada melhor que utilizar a dupla | \u201cpipe\u201d e grep \u201cbuscador de conte\u00fado\u201d. O comando grep serve para procurar strings dentro de pastas ou arquivos, sem ter que visualizar todo o arquivo ou mesmo edit\u00e1-lo. Veja um exemplo.<\/p>\n<p>Um arquivo com o nome telefone.txt cont\u00e9m os seguintes dados:<\/p>\n<p>Bruno\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 55123456<br \/>\nFernando \u00a0 55237982<br \/>\nJoao\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0 \u00a0 55879087<br \/>\nPaula\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0\u00a0 45467898<br \/>\nThalita\u00a0\u00a0 \u00a0 \u00a0\u00a0 23789755<\/p>\n<p><span id=\"more-412\"><\/span>Para saber o telefone do Joao n\u00e3o precisamos editar o arquivos utilizamos o grep da seguinte forma:<\/p>\n<p><strong>$grep Joao telefone.txt<\/strong><\/p>\n<p>E aparece o resultado:<\/p>\n<p>Joao\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 55879087<\/p>\n<p>O comando grep tem v\u00e1rios argumentos para facilitar a <a style=\"cursor: hand; color: #ff0000; text-decoration: underline; border-bottom: dotted 1px;\" href=\"http:\/\/www.dimensaotech.com\/2008\/08\/grep-pipeline-a-famosa-dulpa-dinamica\/#\" rel=\"nofollow\">busca<\/a> de conte\u00fado como por exemplo:<\/p>\n<p>grep -&lt;argumento&gt;<\/p>\n<p><strong>-i<\/strong>\u00a0 -&gt; tira o case sensitive, busca por <a style=\"cursor: hand; color: #ff0000; text-decoration: underline; border-bottom: dotted 1px;\" href=\"http:\/\/www.dimensaotech.com\/2008\/08\/grep-pipeline-a-famosa-dulpa-dinamica\/#\" rel=\"nofollow\">letras<\/a> mai\u00fasculas e min\u00fasculas.<br \/>\n<strong>-v<\/strong> -&gt; n\u00e3o busca a string selecionada, ex: procure tudo menos o Joao.<\/p>\n<p>Agora vamos juntar nosso amigo grep com o pipe, essa dupla \u00e9 muito utilizada quando precisamos filtrar a sa\u00edda de um comando, veja o exemplo:<\/p>\n<p><strong>ps -ef | grep -i ftp<\/strong><\/p>\n<p>Neste comando estamos listando todos os processos do servidor por\u00e9m o comando grep vai filtrar e mostrar na tela somente o processo com o nome FTP.<\/p>\n<p style=\"margin-bottom: 0cm;\"><strong>ps aux | grep httpd<\/strong><\/p>\n<p style=\"margin-bottom: 0cm;\">Com esse comando voc\u00ea exibe na tela todos os processos do httpd (servidor web) ativos na sua m\u00e1quina.<\/p>\n<p style=\"margin-bottom: 0cm;\">E se voc\u00ea quisesse somente os PIDs? Simples:<\/p>\n<p style=\"margin-bottom: 0cm;\"><strong>ps aux | grep httpd | awk {&#8216;print $2&#8217;}<\/strong><\/p>\n<p style=\"margin-bottom: 0cm;\">Bom, estes s\u00e3o exemplos simples, mas a partir do momento que voc\u00ea se acostumar com a id\u00e9ia, vai achar diversas fun\u00e7\u00f5es para isso.<\/p>\n<p>&nbsp;<\/p>\n<p>Podemos visualizar informa\u00e7\u00f5es de arquivos tamb\u00e9m utilizando o pipe e o grep como abaixo:<\/p>\n<p><strong>cat \/home\/usuario\/telefone.txt | grep Bruno<\/strong><\/p>\n<p>ou <a style=\"cursor: hand; color: #ff0000; text-decoration: underline; border-bottom: dotted 1px;\" href=\"http:\/\/www.dimensaotech.com\/2008\/08\/grep-pipeline-a-famosa-dulpa-dinamica\/#\" rel=\"nofollow\">procurar<\/a> todos menos o Bruno:<\/p>\n<p><strong>cat \/home\/usuario\/telefone.txt | grep -v Bruno<\/strong><\/p>\n<p>Bom agora que voc\u00ea ja aprendeu um pouco do comando grep n\u00e3o tenha d\u00f3 de usar e para mais detalhes digite no shell o comando man grep.<\/p>\n<p>Abra\u00e7os e at\u00e9 a pr\u00f3xima.<\/p>\n<p>Cleuber<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para n\u00f3s, administradores de sistemas, com a necessidade de visualizar arquivos e processos de modo eficiente, nada melhor que utilizar a dupla | \u201cpipe\u201d e grep \u201cbuscador de conte\u00fado\u201d. O comando grep serve para procurar strings dentro de pastas ou arquivos, sem ter que visualizar todo o arquivo ou mesmo edit\u00e1-lo. Veja um exemplo. Um &hellip;<\/p>\n","protected":false},"author":1,"featured_media":3388,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[51,4],"tags":[128,127,129],"class_list":["post-3387","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dicas-e-tutoriais","category-tutoriais-linux","tag-grep","tag-pipe","tag-pipegrep"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/3387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=3387"}],"version-history":[{"count":0,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/3387\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media\/3388"}],"wp:attachment":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=3387"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=3387"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=3387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}