Aqui está uma solução usando sed
:
sed -i $((start + RANDOM % range))d filename.txt
onde:
- start é o número da linha inicial do seu intervalo
- intervalo (ou end-start é o número de linhas a serem incluídas de start )
-
sed -i -Nd
diz a sed para deletar a linha N no arquivo de entrada -
RANDOM
é o gerador de números aleatórios do bash; uma variável de shell especial que contém um inteiro aleatório entre 0 e 32767 quando você o usa.
Assim, por exemplo, para excluir uma linha aleatória entre as linhas 90 e 120 no arquivo test.txt , você usaria:
sed -i $((90 + RANDOM % 30))d test.txt