Uma opção seria usar sed
para dizer "substituir um ou mais espaços seguidos por um canal com um canal" - e fazer isso para cada ocorrência desses espaços & canos:
sed 's/ *|/|/g' < input > output
Para remover também os espaços após o canal:
sed 's/ *|/|/g; s/| */|/g' < input > output