Supondo que linenumbers.txt
tenha um número por linha
awk 'NR == FNR{a[$0]; next};FNR in a' linenumbers.txt sourcefile.csv > extractedrecords.tsv
Pode fazer o trabalho.
Ou com bash
join -t':' -o2.1,2.2 <(sort linenumbers.txt) <(awk '{print NR":"$0}' \
sourcefile.csv | sort -k1,1 -t':') | sort -k1,1n -t':' | cut -f2- -d':'
Todos os arcos adicionais são necessários porque join
não suporta arquivos de entrada numericamente classificados