while IFS= read -r line; do
# ...
done < <(tail -n "+$lineNumberIs" $dataFile)
tail -n +K
(com o sinal de mais) diz à cauda para iniciar no número de linha especificado (veja a página do manual ).
O <(...)
bit é uma substituição de processo . Ele permite que você especifique uma sequência de comandos e deixe que o bash leia como um arquivo. É muito útil quando você quer evitar o efeito do subshell criado em um pipeline.
IFS= read -r
é usado para ler a linha exatamente como aparece no arquivo, sem espaços ou seqüências de escape removidos.