Excepcional! abraços, Salhab
2009/11/12 Tiago Peczenyj <[email protected]> > Muito pertinente essa duvida: existem varias formas de conseguir o que vc > quer sem apelar para algoritmos iterativos, loops, etc, apenas com bash > 'puro' e pipes - e alguma criatividade. > > O que vc quer ja existe no funçõesZZ [ http://funcoeszz.net/ ] do Aurelio > & > Thobias sob o nome de zzuniq e vou disponibilizar o codigo tal qual vc > encontra no site > > # As linhas do arquivo são numeradas para guardar a ordem original > cat -n "${1:--}" | # Numera as linhas do arquivo > sort -k2 -u | # Ordena e remove duplos, ignorando a numeração > sort -n | # Restaura a ordem original > cut -f2- # Remove a numeração > > > o ${1:--} é para ler tanto da stdin quanto de um arquivo. > > No mesmo fonte vc encontra este comentario: > > # Versão SED, mais lenta para arquivos grandes, mas só precisa do SED > # PATT: LINHA ATUAL \n LINHA-1 \n LINHA-2 \n ... \n LINHA #1 \n > # sed "G ; /^\([^\n]*\)\n\([^\n]*\n\)*\1\n/d ; h ; s/\n.*//" $1 > > Boa sorte com o debug :) > > 2009/11/11 Marcio Gil <[email protected]> > > > > > > > Pessoal, quero saber se existe algum comando equivalente ao 'uniq' > > mas que possa eliminar duplicatas não sequenciais. Exemplo: > > > > ddeeff > > aabbcc > > aabbcc > > gghhii > > gghhii > > aabbcc > > > > com 'cat ... | uniq' fica: > > > > ddeeff > > aabbcc > > gghhii > > aabbcc > > > > com 'cat ... | sort -u' fica: > > > > aabbcc > > ddeeff > > gghhii > > > > Mas quero obter somente a primeira ocorrência de cada linha, na > > ordem em que elas ocorrem: > > > > ddeeff > > aabbcc > > gghhii > > > > Há muito tempo eu escrevi um código pra fazer isso ( que chamei de > > 'first': http://c.pastebin.com/f69cecb13 ), mas gostaria de saber se > > existe alguma maneira de resolver com shel-script padrão. > > > > Obrigado. > > > > Marcio Gil. > > > > > > > > > > -- > Tiago B. Peczenyj > Linux User #405772 > > http://pacman.blog.br > > > [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: [email protected] > --------------------------------------------------------------------- > 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]
