A white U.S. Army veteran from Baltimore bent on making a racist attack took a bus to New York, randomly picked out a black man who was collecting bottles on the street and killed him with a sword, police said on Wednesday.