Я предлагаю с bash, его Расширение параметра и CentOS 7 / RHEL 7:
for i in /etc/sysconfig/network-scripts/ifcfg-e*; do
i=$(basename "$i")
grep -qi 'down' "/sys/class/net/${i#*-}/operstate" && echo "${i#*-}"
done
${i#*-}
удаляет из строки ifcfg-ens33
ifcfg-
, чтобы получить только имя интерфейса.
Обновление :
for i in /etc/sysconfig/network-scripts/ifcfg-e*; do
grep -qi 'down' "/sys/class/net/${i##*-}/operstate" && echo "${i##*-}"
done
${i##*-}
удаляет из строки /etc/sysconfig/network-scripts/ifcfg-ens33
/etc/sysconfig/network-scripts/ifcfg-
, чтобы получить только имя интерфейса.