The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
concatenar todas as linhas duplicadas em um arquivo. vaskarbasak Programação Shell Script e 30 08-29-2008 06:31
leitura arquivo texto linha por linha MizzGail Programação Shell Script e 6 04-14-2008 07:58
Eliminar IPs duplicados a partir de um arquivo texto coolkid Programação Shell Script e 4 01-24-2008 07:22
Registros duplicados de oráculo para arquivo de texto. shilendrajadon UNIX & avançada para usuários experientes 1 01-10-2008 11:21
paginação um arquivo texto linha por linha? tomapam UNIX para Dummies Perguntas & Respostas 2 10-07-2002 10:30

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 04-25-2008
nixguy nixguy is offline
Usuário
  
 

Join Date: Jun 2007
Posts: 3
duplicado linha em um arquivo texto

Gostaria de varredura para as linhas duplicadas no arquivo, e imprimir os duplicados para outro ficheiro,
Ah e tem de ser insensível caso.

exemplo

linha1
linha2
linha2
Linha3
Line4
Line4

outputfile:
linha2
Line4

quaisquer ideias
  #2 (permalink)  
Old 04-25-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652

Código:
perl -ne '$l = lc(); print if $m{$l}++; ' file

lc retorna a string especificada em minúsculas; neste caso, sem qualquer parâmetro, o padrão para a atual linha de entrada. $ $ l (m) é a contagem do número de vezes que vimos $ l; se é não zero, é uma duplicata, por isso, imprimi-lo.

Última edição por época; em 04/25/2008 02:50.. Motivo: Adicionar explicação
  #3 (permalink)  
Old 04-25-2008
nixguy nixguy is offline
Usuário
  
 

Join Date: Jun 2007
Posts: 3
Citação:
Originally Posted by era View Post
Código:
perl -ne '$l = lc(); print if $m{$l}++; ' file

lc retorna a string especificada em minúsculas; neste caso, sem qualquer parâmetro, o padrão para a atual linha de entrada. $ $ l (m) é a contagem do número de vezes que vimos $ l; se é não zero, é uma duplicata, por isso, imprimi-lo.

thanks it's trabalhou para um arquivo, mas esqueci-me de acrescentar que, se eu precisar dele para ser executado em um diretório e certifique-se de fazer em um único arquivo e não subdirectório

modificações que você faria
  #4 (permalink)  
Old 04-25-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Loop mais arquivos em um diretório, e remover duplicatas? Você deseja substituir os arquivos?


Código:
for f in directory/*; do
  test -d "$f" && continue   # skip if it's a subdirectory
  perl -ne '$l = lc(); print if $m{$l}++; ' "$f" >"$f.tmp"
  mv "$f.tmp" "$f"
done

  #5 (permalink)  
Old 04-25-2008
nixguy nixguy is offline
Usuário
  
 

Join Date: Jun 2007
Posts: 3
Obrigado Era, ela trabalhou,
  #6 (permalink)  
Old 04-29-2008
summer_cherry summer_cherry is offline Forum Advisor  
Usuário
  
 

Join Date: Jun 2007
Localização: Beijing China
Mensagens: 1.099

Código:
awk '{
  a[$0]++
}
END{
 for (i in a)
 if (a[i]=2)
 print i
}' filename

Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 05:20.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0