> awk -v RS=$'\n\n' -v FS=$'\n' -v ORS=$'\n\n' '$2 ~ /123$/ {print}' abc.txt
abc 123
abcd 123
abcde 12345
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
É 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