Graham McKinlay admitted attempting to murder 28-year-old Thomas Brennan in Union Street on 12 June last year.
The 32-year-old also admitted slashing two other men in separate attacks in Glasgow in December 2014.
At the High Court in Glasgow, sentence on McKinlay was deferred and he was remanded in custody.
The court heard that Mr Brennan and his fiancee Bianca McLachlan had been at a fancy dress party and were heading along Union Street towards a nightclub, still dressed in their costumes.
Mr Brennan, who was dressed as a scarecrow, had a potato sack over his head with holes cut out for the eyes and a piece of rope round his neck.
As they passed McKinlay, he took hold of the rope round Mr Brennan's neck and pulled on it.
He then punched Mr Brennan three or four times on the head, got him in a headlock and began to repeatedly strike Mr Brennan on the head and body with a knife or car key he had in his hand.
The court was told that Mr Brennan fought back and at one point he and McKinlay were on the ground.
During the attack, two woman also became involved.
Natalie Graham, 31, punched Mr Brennan on the head two or three times and kicked him on the legs.
Mr Brennan punched her back after which, her friend Stacey Lavery, 27, rushed up and hit Mr Brennan twice on the head.
In court McKinlay admitted attempting to murder Mr Brennan and the two women pleaded guilty to assault.
They both said they did not realise that McKinlay had a knife.
McKinlay also admitted shouting racist comments at Safdar Ali , 29, and slashing him on the face with a knife in St Enoch's Square, Glasgow, on 10 December 2014.
He also pleaded guilty to slashing Richard McCluskey, 32, on a bus travelling along Dumbarton Road, Glasgow, on 6 December 2014.
Judge Lord Boyd deferred sentence on all three. The two women were granted bail.
A man who stabbed a partygoer dressed as a scarecrow and slashed two other men in separate attacks in Glasgow is facing a length jail term.