eth0 — это физический интерфейс. Вы не сможете отфильтровать этот тип интерфейса из вывода «ip link show», используя любой из виртуальных типов интерфейса.
В качестве альтернативы вы можете использовать NetworkManager для получения списка интерфейсов, например:
$ nmcli device
DEVICE TYPE STATE CONNECTION
br0 bridge connected br0
cni0 bridge connected cni0
tun0 tun connected tun0
virbr0 bridge connected virbr0
enp4s0 ethernet connected br0-enp4s0
vnet0 tun connected vnet0
docker0 bridge unmanaged --
veth6cfa9ab5 ethernet unmanaged --
lo loopback unmanaged --
virbr0-nic tun unmanaged --
$ nmcli device | grep ethernet
enp4s0 ethernet connected br0-enp4s0
veth6cfa9ab5 ethernet unmanaged --
$ nmcli device | awk '/ethernet/ {print $1}'
enp4s0
veth6cfa9ab5