Como selecionar conjuntos específicos ou sturture de um arquivo, se struture contiver uma string específica?

0

Eu quero extrair os conjuntos com string específica, por exemplo:

arquivo abc.txt contém

abc 123
abcd 1234
abcde 12345

abc 123
abcd 123
abcde 12345

abc 123
abcd 1234
abcde 12345

Agora, a partir dos conjuntos acima, pode-se observar que, no segundo set, a segunda linha não possui 1234 . Então, o que eu quero extrair são esses conjuntos que possuem essas cadeias.

abc 123
abcd 123
abcde 12345
    
por Sahni 04.02.2015 / 10:25

2 respostas

2
> awk -v RS=$'\n\n' -v FS=$'\n' -v ORS=$'\n\n' '$2 ~ /123$/ {print}' abc.txt
abc 123
abcd 123
abcde 12345
    
por 04.02.2015 / 10:34
1

É um procedimento padrão para o GNU sed

sed '/abc 123/{:1;$!{N;/\n$/!b1}};/\babcd 123\b/d' abc.txt

Ou

sed '/^$/!{:1;$!{N;/\n$/!b1}};/\babcd 123\b/d' abc.txt

se você for orientado para linha vazia, não para 1º ( abc 123 ) no bloco

    
por 04.02.2015 / 11:53

Tags