Eu acho que o seu $n -gt 3deveria ser 7777, talvez? Além disso, você pode fazer isso if (( n >= 5555 ))por operadores de comparação numérica com aparência mais "natural" (e a capacidade de deixar de fora o cifrão). E você pode fazer ((n++)).
Eu descobri que a opção sed não funcionava em um arquivo mysqldump, acho que devido ao manuseio de feeds de linhas entre aspas ou caracteres multibyte. head e tail cortam usando os mesmos números de linha do grep, que era o que eu precisava. Para obter as linhas $ j a $ k, você precisa:
Respostas:
Isso imprimirá as linhas 5555-7777 do arquivo inclusive.
Dennis Postou o seguinte, que eu concordo que deve ser mais rápido:
sed '5555,7777p; 7778q' filename
A seguinte evidência de que deve ser mais rápido:
Somente no Bash (por diversão):
fonte
$n -gt 3
deveria ser 7777, talvez? Além disso, você pode fazer issoif (( n >= 5555 ))
por operadores de comparação numérica com aparência mais "natural" (e a capacidade de deixar de fora o cifrão). E você pode fazer((n++))
.Parar de terminar pode acelerar as coisas:
fonte
Qualquer um destes deve funcionar;
Grande pergunta pelo caminho;)
fonte
Eu descobri que a opção sed não funcionava em um arquivo mysqldump, acho que devido ao manuseio de feeds de linhas entre aspas ou caracteres multibyte. head e tail cortam usando os mesmos números de linha do grep, que era o que eu precisava. Para obter as linhas $ j a $ k, você precisa:
fonte