The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Regex para excluir várias linhas em branco em um arquivo? fedora Programação Shell Script e 6 10-11-2007 05:36
usando sed comando para apagar uma seqüência abrangendo várias linhas radha.kalivar Programação Shell Script e 9 07-25-2007 11:26
Necessidade de excluir várias linhas em um arquivo. kangdom Programação Shell Script e 6 10-16-2006 12:02
excluir várias linhas vazias whatisthis Programação Shell Script e 3 11-09-2005 05:42
Eliminar múltiplas linhas w / sed bookoo Programação Shell Script e 2 07-25-2003 11:03

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-27-2007
Selkirk selkirk is offline
Usuário
  
 

Join Date: Apr 2007
Posts: 4
Question Eliminar múltiplas linhas containting uma variável string usando SED.

Bom dia,
Iniciante scripter em Unix aqui, e eu correr para dentro e sed tarefa não sou capaz de embrulhar minha cabeça ao redor. Estou puxando o meu cabelo para fora suficientemente rápido como ela é, e pensei que eu iria para o conhecimento banco.

Eu tenho um arquivo ordenadas que estou a tentar reduzir, suprimindo qualquer linha cujos primeiros caracteres são repetições de uma linha anterior.
ou seja,

1 ABCD
1 CDEF
1 EFGH
2 ACDE
2 GLKGI
2 KLIGH
.
.
.
10 ABSD
10 OIHIHN
10 OHOIN
.
.
.
XX LIHIN
XX OIHNM
XX OHINK

Eu preciso apagar qualquer linha para o qual a linha cabeçalho (primeiros três caracteres são uma repetição). Portanto, para as linhas anteriores que manteria a primeira linha que começa com "1" na primeira linha que começa com "2", etc Assim, o resultado final seria o

1 ABCD
2 ACDE
.
10 ABSD
.
XX LIHIN

Os primeiros três caracteres são sempre números inteiros, não mais de 2 dígitos, e seguido por um espaço, mas o número máximo de variações (que pode variar entre 11 e 40)

Suponho que a outra opção seria a de imprimir a primeira linha que contém "1", a primeira linha que contém "2", etc e coloque-as em um novo arquivo.
Estou mais familiarizado com SED, Mas usando Awk ou de qualquer outra coisa seria demasiado fino.

Thanks in advance!
  #2 (permalink)  
Old 04-27-2007
jim McNAMARA jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Localização: NM
Mensagens: 5.771
Código:
awk ' !arr[$1]++' oldfile > newfile
Este encontra a primeira ocorrência do primeiro campo e imprime a linha. Supondo que eu tenho o que você deseja.
  #3 (permalink)  
Old 04-27-2007
Selkirk selkirk is offline
Usuário
  
 

Join Date: Apr 2007
Posts: 4
Trabalhou como um sonho!
É muito apreciada!
Closed Thread

Marcadores

Tags
awk, awk caimento, caimento, caimento awk

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 08:59.


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