Você pode fazer isso de várias maneiras, com muitas ferramentas, por exemplo, com awk
assim:
cat f.txt | awk 'BEGIN{ORS="\|"}1'
@don_cristi observou corretamente que "Isto irá imprimir um trailing \ | e não uma nova linha", então aqui está uma versão que corrige ambos, se isso for necessário para o seu caso de uso:
awk 'p{printf "%s\|",p} {p=$0} END{print p}'