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
como excluir a primeira linha em branco a partir do arquivo aoussenko Programação Shell Script e 4 06-20-2008 01:05
eliminar espaço em branco no início da linha karthikn7974 Programação Shell Script e 4 05-07-2008 05:40
como excluir o texto de linha começando pattern1 até à linha antes pattern2? repudi8or Programação Shell Script e 5 04-15-2008 10:25
como excluir linha com o correspondente texto e imediatamente após a linha orahi001 UNIX para Dummies Perguntas & Respostas 6 01-15-2008 12:34
Regex para excluir várias linhas em branco em um arquivo? fedora Programação Shell Script e 6 10-11-2007 05:36

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 09-18-2008
one71 one71 is offline
Usuário
  
 

Join Date: Feb 2008
Lugares: 10
sed: apagar regex linha e se próxima linha em branco

Oi,

Quero escrever uma sed script que a partir de


Código:
batiato:

batiato/giubbe:
pip_b.2.txt
pip_b.3.txt
pip_b.3mmm.txt

bennato:

bennato/peterpan:
123.txt

consoli:
pip_a.12.txt

daniele:

daniele/anna:
abc.txt

procuces


Código:
batiato/giubbe:
pip_b.2.txt
pip_b.3.txt
pip_b.3mmm.txt

bennato/peterpan:
123.txt

consoli:
pip_a.12.txt

daniele/anna:
abc.txt

Gostaria de imaginar algo assim:
"se uma linha que contém": "é seguido por uma linha vazia eliminar as duas linhas (a linha com": "e da linha vazia)"
ou seja, algo como, em geral
Se uma linha contendo regex1 é seguido (imediatamente depois) por uma linha contendo regex2 eliminar ambas as linhas.

se seria em uma linha eu faria: sed '/ regex1 .* regex2 / d' ->
a forma de propagação deste comando, em 2 linhas? E no meu caso, considero chapéu regex2 é uma linha vazia (ou seja, ^ $).

obrigado
  #2 (permalink)  
Old 09-18-2008
one71 one71 is offline
Usuário
  
 

Join Date: Feb 2008
Lugares: 10
oh sim! isto funciona agora!
Muito obrigado e muito obrigado pela explicação

Última edição por one71; em 09/18/2008 06:59..
  #3 (permalink)  
Old 09-18-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
Desculpe, mas a minha primeira resposta postada baseado em uma leitura demasiado rápida da sua pergunta.


Código:
sed '/:$/!b;N;/:\n$/d' input.txt

Aqui está uma breve explicação:

/:$/! b - se não uma linha que termina com um cólon, basta saltar para o fim do script e imprimir.
N - esta é uma linha que termina com um cólon; buscar a próxima linha e cola-los juntos.
/: \ n $ / d - se o combinado duas linhas coincidirem com esse padrão, exclua
senão, imprima

O \ n coisa funciona de modo diferente em diferentes versões do sedMas, se não funcionar, tente com um literal newline, com ou sem uma barra invertida.

Última edição por época; em 09/18/2008 06:56.. Motivo: Nota sobre o \ n em diferentes versões do sed
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 10:43.


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