Is there any way to select all the "edge faces" of this cut-out sphere? I have this object:



I want to select all the faces on the edge of the squarish cut-outs of sphere, so I this desired result:



That was done manually, but there must be an easier way.

Essentially, I want to select the faces that have normals that point tangential to the curve of the sphere. Phrased another way, I want to deselect the faces that are facing inwards/outwards, leaving only the desired faces.

I know if I hit SHIFT-G, I can select by similar normal, but that gets me the global normal of the face points, not the local normal.
I suggest using select similar > perimeter. Press  Shift  + G to bring up the selection menu after selecting a face loop similar to the desired loop with  Alt  +  RMB , then adjust the threshold until you have the desired results. Double check your model to make sure there isn't a missed face anywhere, but this should get all of them. In my example, the threshold was 0.030