Você poderia fazer algo assim:
awk -v low=24 -v high=655 'NR >= low && NR <= high{if (!a[$0]++) print; next};{print}' file
ou melhor ainda
awk -v low=100 -v high=200 'NR < low || NR > high || !a[$0]++' test.file
Vou usar esse script awk para excluir linhas duplicadas do meu arquivo de texto:
awk '!x[$0]++'
No entanto, quero especificar em quais linhas eles devem ser executados.
Pode haver 10000 duplicatas, mas eu gostaria apenas de remover as duplicatas das linhas 10020 a 10030.
No meu caso, é de 24 a 655. Teria sido mais fácil se fossem palavras em que eu poderia {$24, $655}
(ou algo similar). Mas não sei como especificar linhas neste caso. Se for importante, estou usando a versão awk 20070501.
Tags text-processing awk