A variável NF sempre conterá o número de campos do registro corrente e o $NF pegará como dado o valor do último campo O -1 ou -2 e assim por diante é apenas para decrescer esse número para pegar o penúltimo campo $(NF -1), antepenúltimo $(NF -2) e por aí vai. No exemplo: algumacoisa.com.br
Usando o delimitador . (awk -F".") nós temos: - O valor de NF = 3 $ echo algumacoisa.com.br| awk -F"." '{print NF}' 3 Porque temos o algumacoisa, o com e o br. - O valor de $NF = br, pois é o último campo. $ echo algumacoisa.com.br| awk -F"." '{print $NF}' br Logo, o valor de $(NF-1) é o penúltimo campo que no nosso exemplo é o "com". echo algumacoisa.com.br| awk -F"." '{print $(NF-1)}' com Espero ter ajudado ^_^ Neto User Linux #499241 Aigh vie dhuit! (Bênçãos de fortuna e sorte a vocês!) Marie von Ebner-Eschenbach<http://www.brainyquote.com/quotes/authors/m/marie_von_ebnereschenbac.html> - "Even a stopped clock is right twice a day." ---------- Forwarded message ---------- From: Eduardo <do_edua...@yahoo.com.br> Date: 2010/1/28 Subject: [shell-script] Re: Otimizar lista do squid To: shell-script@yahoogrupos.com.br Cara o que o NF-1 faz? --- Em shell-script@yahoogrupos.com.br <shell-script%40yahoogrupos.com.br>, Laercio Motta <laerciomas...@...> escreveu > > bem.. Deixa eu ver se intendi... > Você quer pegar somente os ultimos 2 fragmentos separados por um "." > no caso sempre que tenha > > xxx.xxx.xxx.yyy.yyy > pegasse somente o yyy.yyy correto? > intao eu faria algo do genero: > > digamos que tenho o arquivo chamado lista com essas linhas q vc colou > > cat lista | awk -F"." '{print $(NF-1)"."$(NF)}' | sort | uniq > > o awk pega as duas ultimas colunas dae eu ordeno e no ultimo comando pego > somente um de cada.. > > ve se issu resolve? > ah! se for .com.br por exemplo num vai funciona.. > mais dae da pra adapta algo.. duas listas.. ou sei la.. > com o meu conhesssimento faria isso.. =D > > Em 28 de janeiro de 2010 11:15, Eduardo <do_edua...@...> escreveu: > > > > > > > Obrigado. > > Se trata de um arquivo texto referente a uma acl de bloqueio. > > São mais de 15000 linhas. > > Dentro deste arquivo existem diversas linhas que fazem referencia ao mesmo > > domínio, por exemplo: > > as2.zagoo.com > > as3.zagoo.com > > .zagoo.com > > show.xxxtree.com > > so3.xxxtree.com > > .xxxtree.com > > > > E por aí vai. > > Eu queria fazer com que sempre que houvesse redundancia no domínio, como no > > exemplo acima, fosse substituída as redundâncias. > > Ou seja, > > as2.zagoo.com > > as3.zagoo.com > > Substituido por; .zagoo.com > > > > show.xxxtree.com > > so3.xxxtree.com > > Substituído por; .xxxtree.com > > > > --- Em > > shell-script@yahoogrupos.com.br<shell-script%40yahoogrupos.com.br><shell-script% 40yahoogrupos.com.br>, > > Eri Ramos Bastos <bastos.eri@> escreveu > > > > > > > > OK... E qual parte do script está te dando trabalho? > > > Cola ele aqui (ou no pastebin) e fala onde não está funcionando... > > > > > > []'s > > > Eri Ramos Bastos > > > > > > 2010/1/28 Eduardo Amaral Moreira <do_eduardo@>: > > > > > > Bom dia a todos da lista. > > > > Preciso substituir o conteúdo de um arquivo, onde todas as linhas que > > terminem por .zango.com seja substituida uma única linha .zango.com > > > > > > > > São mais de 5000 linhas que terminam assim. Exemplo: > > > > .screensaverparadise.powered-by.zango.com > > > > .sfondigratis.powered-by.zango.com > > > > .shared.zango.com > > > > .showtimes.zango.com > > > > > > > > > > > > > > > > > > > > __________________________________________________________ > > > > Veja quais são os assuntos do momento no Yahoo! +Buscados > > > > http://br.maisbuscados.yahoo.com > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > ------------------------------------ > > > > > > > > ---------------------------------------------------------- > > > > Esta lista não admite a abordagem de outras liguagens de programação, > > como perl, C etc. Quem insistir em não seguir esta regra será moderado sem > > prévio aviso. > > > > ---------------------------------------------------------- > > > > Sair da lista: > > > > shell-script-unsubscr...@yahoogrupos.com.br<shell-script-unsubscribe%40yahoogrupos.com.br> <shell-script-unsubscribe%40yahoogrupos.com.br> > > > > ---------------------------------------------------------- > > > > Esta lista é moderada de acordo com o previsto em > > http://www.listas-discussao.cjb.net > > > > ---------------------------------------------------------- > > > > Servidor Newsgroup da lista: news.gmane.org > > > > Grupo: gmane.org.user-groups.programming.shell.brazil > > > > > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: shell-script-unsubscr...@yahoogrupos.com.br --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: shell-script-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html