Le b c’est pour branch,
donc bz c’est un saut vers le label z.
Ça tombe bien, :z déclare justement un label z
Ensuite N rajoute la ligne suivante au “pattern space”.
C’est donc une boucle qui successivement lit une ligne et substitue un saut de ligne par un espace sur le “pattern space”. Ce dernier va devenir de plus en plus gros et être traité systématiquement par la subsitution, ce qui ne devrait pas être très satisfaisant pour des flux de taille importante
Si ton but c’est juste de remplacer les sauts de ligne par des espaces (et pas de jouer avec sed), je te propose la forme suivante :