Então, você tem alguma variável shell, $Bus_date que você quer adicionar em uma linha sozinha como cabeçalho. Em seguida, deve seguir o conteúdo de $Source_Dir/$Output_File_Name , seguido pela string EOFNN , em que NN é o número de linhas nesse arquivo menos um.
Usando awk :
awk -v head="$Bus_date" 'BEGIN { print head } { print } END { print "EOF" NR-1 }' "$Source_Dir/$Output_File_Name" >"$Target_Dir/$Output_File_Name"
O script é:
BEGIN { print head }
{ print }
END { print "EOF" NR-1 }
Na linha de comando, definimos a awk variable head para o valor de $Bus_date . Este valor é gerado antes de começarmos a ler a partir do arquivo fornecido, pelo bloco BEGIN .
O bloco { print } garante que o arquivo fornecido seja passado como está, sem modificação.
O bloco END usa a variável interna NR que contém o número de registros (linhas) lidos até o momento. No bloco END , NR será o número de linhas no arquivo que foi lido.