![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| 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 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
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 |
|
||||
|
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 |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|