cut
entende o argumento $line
como um nome de arquivo. Se o seu shell é bash, você pode usar a palavra <<<
here:
cut -d' ' -f1 <<< "$line"
Mas, não há necessidade de chamar comandos externos, o bash pode fazer isso com a substituição de parâmetros:
date=${line%|*} # Delete from | to the right.
hour=${line#*|} # Delete up to |.