If you have an advanced license you can use the Intersect Tool with the output type set as point to create a layer made of points where ever the lines intersect the grid. Then you would use the Split Line at Point Tool to split the lines based on where they intersect the grid. You could then use a spatial join with the lines as target features and grid boxes as join features. Using a 'one to many' join operation and a 'within' join operation (I believe although another option may work better). You'll then have joined the attribute data to the line segments. I would export the line segment layer (make a copy) to solidify that join and then remove the join from the original line segment shapefile but that's totally your call.
... View more