Entre os vários grupos do Telegram, um que é muito bom é o de shell, o t.me/shellbr pros mais íntimos.

Um dia desses, entre discussões de como fazer um shell melhor e eu postando sticker pros falantes de língua inglesa de que o grupo é em língua portuguesa, apareceu algo que abriu minha visão em shell pra algo muito maravilhoso.  Não é uma novidade de um comando mágico que faz algo completamente novo, mas a simplicidade da solução que esteve esse tempo todo na minha cara e eu nunca vi foi o que me fascinou.

Pra dar um pouco mais de contexto, o que se referia isso: quem nunca precisou mandar um "ps auxwww | grep firefox" e pegou o próprio comando grep na saída?

 ~> ps auxwww | grep firefox 
helio   5719 15.5  2.9 3994484 475156 ?      Rl   20:57   4:38 /usr/lib/firefox/firefox --ProfileManger --no-remote
helio   5815  6.0  1.6 3021712 259472 ?      Sl   20:58   1:47 /usr/lib/firefox/firefox -contentproc -childID 1 
helio   5876  1.0  1.2 2687192 201516 ?      Sl   20:58   0:18 /usr/lib/firefox/firefox -contentproc -childID 2 
helio   5916  0.5  1.0 2646492 161856 ?      Sl   20:58   0:10 /usr/lib/firefox/firefox -contentproc -childID 3 
helio   5939  5.8  2.0 3008700 325944 ?      Rl   20:58   1:44 /usr/lib/firefox/firefox -contentproc -childID 4 
helio   9210  1.0  1.5 2875692 241532 ?      Sl   21:08   0:12 /usr/lib/firefox/firefox -contentproc -childID 9 
helio  10161  1.5  1.1 2676620 179336 ?      Rl   21:11   0:15 /usr/lib/firefox/firefox -contentproc -childID 10 
helio  10394  0.2  0.7 2583360 120484 ?      Sl   21:12   0:02 /usr/lib/firefox/firefox -contentproc -childID 11 
helio  11818  0.0  0.4 2549948 77524 ?       Sl   21:18   0:00 /usr/lib/firefox/firefox -contentproc -childID 13 
helio  14368  0.0  0.0  18056  1052 pts/2    S+   21:27   0:00 grep --color=auto firefox

Comecei com Linux em 1997, quando aprendi a usar as Sparc stations da universidade.  Mais de 20 anos nessa indústria vital e eu sempre, sempre, usei desse jeito:

 ~ > ps auxwww | grep firefox | grep -v grep 
helio   5719 14.6  3.0 3991196 481364 ?      Sl   20:57   4:56 /usr/lib/firefox/firefox --ProfileManger --no-remote
helio   5815  6.2  1.7 3019784 279384 ?      Sl   20:58   2:05 /usr/lib/firefox/firefox -contentproc -childID 1 
helio   5876  0.9  1.2 2687192 202532 ?      Sl   20:58   0:19 /usr/lib/firefox/firefox -contentproc -childID 2 
helio   5916  0.5  1.0 2646492 164072 ?      Sl   20:58   0:10 /usr/lib/firefox/firefox -contentproc -childID 3 
helio   5939  5.4  2.0 3008700 330532 ?      Sl   20:58   1:49 /usr/lib/firefox/firefox -contentproc -childID 4 
helio   9210  0.9  1.5 2875692 241876 ?      Sl   21:08   0:13 /usr/lib/firefox/firefox -contentproc -childID 9 
helio  10161  1.3  1.1 2676620 179336 ?      Sl   21:11   0:16 /usr/lib/firefox/firefox -contentproc -childID 10 
helio  10394  0.2  0.7 2583360 120588 ?      Sl   21:12   0:02 /usr/lib/firefox/firefox -contentproc -childID 11 
helio  11818  0.0  0.4 2549948 77524 ?       Sl   21:18   0:00 /usr/lib/firefox/firefox -contentproc -childID 13 

Com essa maravilhosa dica do Hélio Campos, basta fazer assim:

 ~ > ps auxwww | grep [f]irefox
helio   5719 14.5  3.1 4005676 500088 ?      Sl   20:57   5:01 /usr/lib/firefox/firefox --ProfileManger --no-remote
helio   5815  6.7  1.8 3034264 293864 ?      Rl   20:58   2:18 /usr/lib/firefox/firefox -contentproc -childID 1 
helio   5876  0.9  1.2 2687192 203656 ?      Sl   20:58   0:19 /usr/lib/firefox/firefox -contentproc -childID 2 
helio   5916  0.5  1.0 2646492 164072 ?      Sl   20:58   0:10 /usr/lib/firefox/firefox -contentproc -childID 3 
helio   5939  5.3  2.0 3008700 331836 ?      Sl   20:58   1:51 /usr/lib/firefox/firefox -contentproc -childID 4 
helio   9210  0.9  1.5 2875692 241876 ?      Sl   21:08   0:14 /usr/lib/firefox/firefox -contentproc -childID 9 
helio  10161  1.3  1.1 2676620 179336 ?      Sl   21:11   0:17 /usr/lib/firefox/firefox -contentproc -childID 10 
helio  10394  0.2  0.7 2583360 120588 ?      Sl   21:12   0:02 /usr/lib/firefox/firefox -contentproc -childID 11 
helio  11818  0.0  0.4 2549948 77524 ?       Sl   21:18   0:00 /usr/lib/firefox/firefox -contentproc -childID 13

Eu achei espetácular.  Pode ser que eu esteja exagerando, mas achei mesmo.  Uma dica muito simples e acabou com décadas usando um extra "grep" pra resolver as coisas. 

Muito obrigado Hélio Campos e grupo shellbr!

 

We use cookies

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.