Para pular todos os outros > ...
block:
awk '/^>/ { p = !p } p' input.txt
p
é um sinalizador de impressão - p
significa impressão quando p
for verdadeiro, pois a ação padrão é print
quando nenhum é fornecido. Em awk
, as variáveis começam vazias, o que resulta em false em contextos booleanos. Toda vez que uma linha > ...
for atingida, alterne o sinalizador p
.
Para imprimir todos os blocos n
th delimitados por > ...
lines:
awk -v n=200 '/^>/ { if (skip == 0) skip = n - 1; else --skip; } skip == n - 1' input.txt
É uma lógica semelhante, exceto que n
não é 2, temos que usar um contador em vez de um sinalizador booleano. Aqui, skip
conta quantas mais > ...
linhas para pular antes de começar a imprimir novamente. Estou usando skip == n - 1
como o sinalizador de impressão como um atalho.