• sed

    sed -e 's/\(.*\)#.*/\1/'
    sed -e 's/\([^#]*\)#.*/\1/'
    
  • perl

    perl -pe 's/(.*)#.*/\1/'
    perl -pe 's/(.*?)#.*/\1/'
    
  • awk

    awk -F"#" '{{for (i=1; i<NF-1; i++) printf $i "#"} print $(NF-1)}'
    awk -F"#" '{print $1}'