The following is all from 15.6, but the same behavior results in TW, Slowroll & 15.5:
# zypper --no-refresh se -s util-lin suse-mod a-dem | grep -Ev '32bit|debug|devel|srcp|openSUSE-20' | grep -E 'x86|noarch'| sort
| Mesa-demo | package | 8.3.0-1.33 | x86_64 | OSS
| Mesa-demo | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
| util-linux-tty-tools | package | 2.39.3-150600.2.1 | x86_64 | OSS
| util-linux-tty-tools | package | 2.39.3-150600.4.3.1 | x86_64 | UpdateSLE
| util-linux-tty-tools | package | 2.39.3-150600.4.6.2 | x86_64 | UpdateSLE
l | util-linux-lang | package | 2.39.3-150600.2.1 | noarch | OSS
l | util-linux-lang | package | 2.39.3-150600.4.3.1 | noarch | UpdateSLE
l | util-linux-lang | package | 2.39.3-150600.4.6.2 | noarch | UpdateSLE
i | util-linux | package | 2.39.3-150600.4.3.1 | x86_64 | UpdateSLE
i | util-linux-systemd | package | 2.39.3-150600.4.3.1 | x86_64 | UpdateSLE
i+ | Mesa-demo-egl | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
i+ | Mesa-demo-es | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
i+ | Mesa-demo-x | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
i+ | suse-module-tools | package | 15.6.9-150600.3.3.3 | x86_64 | UpdateSLE
v | Mesa-demo-x | package | 8.3.0-1.33 | x86_64 | OSS
v | suse-module-tools | package | 15.6.10-150600.3.6.2 | x86_64 | UpdateSLE
v | suse-module-tools | package | 15.6.7-150600.1.24 | x86_64 | OSS
v | util-linux | package | 2.39.3-150600.2.1 | x86_64 | OSS
v | util-linux | package | 2.39.3-150600.4.6.2 | x86_64 | UpdateSLE
v | util-linux-systemd | package | 2.39.3-150600.2.1 | x86_64 | OSS
v | util-linux-systemd | package | 2.39.3-150600.4.6.2 | x86_64 | UpdateSLE
# cat zypse
#!/bin/sh
zypper --no-refresh se -s $* | grep -Ev '32bit|debug|devel|srcp|openSUSE-20' | grep -E 'x86|noarch'| sort
# zypse util-lin suse-mod a-dem
i+ | Mesa-demo-egl | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
i+ | Mesa-demo-es | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
i+ | Mesa-demo-x | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
i+ | suse-module-tools | package | 15.6.9-150600.3.3.3 | x86_64 | UpdateSLE
i | util-linux | package | 2.39.3-150600.4.3.1 | x86_64 | UpdateSLE
i | util-linux-systemd | package | 2.39.3-150600.4.3.1 | x86_64 | UpdateSLE
l | util-linux-lang | package | 2.39.3-150600.2.1 | noarch | OSS
l | util-linux-lang | package | 2.39.3-150600.4.3.1 | noarch | UpdateSLE
l | util-linux-lang | package | 2.39.3-150600.4.6.2 | noarch | UpdateSLE
| Mesa-demo | package | 8.3.0-1.33 | x86_64 | OSS
| Mesa-demo | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
| util-linux-tty-tools | package | 2.39.3-150600.2.1 | x86_64 | OSS
| util-linux-tty-tools | package | 2.39.3-150600.4.3.1 | x86_64 | UpdateSLE
| util-linux-tty-tools | package | 2.39.3-150600.4.6.2 | x86_64 | UpdateSLE
v | Mesa-demo-x | package | 8.3.0-1.33 | x86_64 | OSS
v | suse-module-tools | package | 15.6.10-150600.3.6.2 | x86_64 | UpdateSLE
v | suse-module-tools | package | 15.6.7-150600.1.24 | x86_64 | OSS
v | util-linux | package | 2.39.3-150600.2.1 | x86_64 | OSS
v | util-linux | package | 2.39.3-150600.4.6.2 | x86_64 | UpdateSLE
v | util-linux-systemd | package | 2.39.3-150600.2.1 | x86_64 | OSS
v | util-linux-systemd | package | 2.39.3-150600.4.6.2 | x86_64 | UpdateSLE
# cat zypse
#!/bin/bash
zypper --no-refresh se -s $* | grep -Ev '32bit|debug|devel|srcp|openSUSE-20' | grep -E 'x86|noarch'| sort
# zypse util-lin suse-mod a-dem
i+ | Mesa-demo-egl | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
i+ | Mesa-demo-es | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
i+ | Mesa-demo-x | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
i+ | suse-module-tools | package | 15.6.9-150600.3.3.3 | x86_64 | UpdateSLE
i | util-linux | package | 2.39.3-150600.4.3.1 | x86_64 | UpdateSLE
i | util-linux-systemd | package | 2.39.3-150600.4.3.1 | x86_64 | UpdateSLE
l | util-linux-lang | package | 2.39.3-150600.2.1 | noarch | OSS
l | util-linux-lang | package | 2.39.3-150600.4.3.1 | noarch | UpdateSLE
l | util-linux-lang | package | 2.39.3-150600.4.6.2 | noarch | UpdateSLE
| Mesa-demo | package | 8.3.0-1.33 | x86_64 | OSS
| Mesa-demo | package | 9.0.0-lp156.87.5 | x86_64 | X11Xorg
| util-linux-tty-tools | package | 2.39.3-150600.2.1 | x86_64 | OSS
| util-linux-tty-tools | package | 2.39.3-150600.4.3.1 | x86_64 | UpdateSLE
| util-linux-tty-tools | package | 2.39.3-150600.4.6.2 | x86_64 | UpdateSLE
v | Mesa-demo-x | package | 8.3.0-1.33 | x86_64 | OSS
v | suse-module-tools | package | 15.6.10-150600.3.6.2 | x86_64 | UpdateSLE
v | suse-module-tools | package | 15.6.7-150600.1.24 | x86_64 | OSS
v | util-linux | package | 2.39.3-150600.2.1 | x86_64 | OSS
v | util-linux | package | 2.39.3-150600.4.6.2 | x86_64 | UpdateSLE
v | util-linux-systemd | package | 2.39.3-150600.2.1 | x86_64 | OSS
v | util-linux-systemd | package | 2.39.3-150600.4.6.2 | x86_64 | UpdateSLE
Both my zypse script versions used to provide the same output as typing it all out as in the first code block above. This changed several weeks ago, as shown in the second and third code blocks. Can anyone suggest what I can do to the script to make it sort as expected again? Did something in bash or sort binaries change lately?