Well I don't know why the awk statement isn't working, I'm hoping someone will enlighten us both on that matter, but the sed statement is removing the | from each line. It would work just as well to use
cat unix |tr "|" " "|awk '{print $1}'
this also replaces all of the |'s with whitespace
I think that if you escape (put a \) in front of the | in your original awk statement that will work as well
..... reason is "|" being an alpha numeric character (like *,?,%,^,$) would require a "\" before that to tell the Kernel to not use "|" as a function..