Dúvida com o comando CAT [RESOLVIDO]

13. é...

João Marcos Menezes
stremer

(usa Arch Linux)

Enviado em 02/04/2009 - 10:08h

na verdade mesmo... o -A é para encontrar a ocorrência de balão e mostrar X linhas a partir dali.
Como queremos mostrar tudo que vem depois da li, poderiamos usar qualquer valor acima do total de palavras, por ex:
abacate
abacaxi
bala
balão
carro
casa
escola
faca

Temos total de 8 linhas, a palavra balão esta na quarta linha então poderiamos usar grep -A "balão" 5, ou seja para mostrar 5 ocorrência (que mostrariamos todas as ocorrências do arquivo). Só que se passarmos qualquer valor maior que isso tbem funcionará, afinal quando chegar no fim do arquivo ele não irá mostrar mais nada, por este motivo contamos o total de linhas do arquivo antes, senão teriamos que fazer uma conta a mais a toa... O awk é somente para usar o total anteriormente, poderia ser resumido assim:
grep -A `cat palavras.txt | wc -l` "balão" palavras.txt

Poderia ser feito de diversas formas... na verdade o awk foi mais para ficar facil entender, primeiro faz uma coisa e depois outra, mas ele é usado mais para tratar mesmo o conteudo do texto (substring, concatenação, etc)

uma coisa legal seria:
grep -A `cat palavras.txt | wc -l` "balão" palavras.txt
| awk '{print toupper($1)}'

Para imprimir maiuscula.
Melhor ainda... que tal fazer algo ordenado, em um arquivo desordenado:
Imagine ainda que este arquivo tem mistura de maiusculas e minusculas... podemos procurar sem considerar o case sensitive, procurando tudo em maiuscula.

cat palavras.txt | awk '{print toupper($1)}' | sort | grep -A `cat palavras.txt | wc -l` "BALÃO"

Como tudo no shell a imaginação é o limite...

PS: Uso muito pouco shell no meu dia a dia, digo que sou 95 % do tempo programador java e 5% do tempo programador C... não lembrava do -A do grep por isso no começo não lembrei de uma solução legal... ai o amigo wolfs... clareou as ideias...

Espero que tenham entendido tudo agora!!!!


  


14. Re: Dúvida com o comando CAT [RESOLVIDO]

Xerxes
xerxeslins

(usa openSUSE)

Enviado em 02/04/2009 - 12:23h

Agora entendi sim!

Muito obrigado a todos.
poxa, e isso é pq vc nao usa shell script rsrsrs... imagina se usasse =P



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts