As I said, that's for a jury to decide. If they think it's beyond doubt, then that's it.
If he attacked you for no reason, did you report it to the police? Why not? When we first questioned you, why did you say it never happened? Who had the knife? You're not proving to be a believable witness.
Well I can't claim to know any better. If I knew who the person was though, and they pulled a knife, I would put a lot of effort into getting to police to press charges.
That's for a jury to decide. 'I saw him, I had a fight with him, I gave a description to the police. The next day I saw him again, and his ripped jacket, and I know it was him'. If he was totally sure, there's a good chance a jury would believe him.