Это может немного приблизить вас:
grep -o '\b[0-9a-z:]*[0-9]\b'
Но в выводе есть новые строки:
lo0
00:00:00:00:00:00
gif0
00:00:00:00:00:00
stf0
00:00:00:00:00:00
en0
00:00:00:00:00:00
en5
00:00:00:00:00:00
en1
00:00:00:00:00:00
en2
00:00:00:00:00:00
en3
00:00:00:00:00:00
en4
00:00:00:00:00:00
utun0
00:00:00:00:00:00
Однако, если вы разрешите использование xargs, вы может получить решение, в котором ваш интерфейс и ma c находятся на одной строке:
grep -o '\b[0-9a-z:]*[0-9]\b' | xargs -L2
lo0 00:00:00:00:00:00
gif0 00:00:00:00:00:00
stf0 00:00:00:00:00:00
en0 00:00:00:00:00:00
en5 00:00:00:00:00:00
en1 00:00:00:00:00:00
en2 00:00:00:00:00:00
en3 00:00:00:00:00:00
en4 00:00:00:00:00:00
utun0 00:00:00:00:00:00
grep ищет строку, содержащую число. Таким образом, эфир опускается из соответствующих строк. Конечно, это не очень общее решение.
Конечно, если вы хотите использовать тики замены оболочки (или лучше $()
):
ifconfig | echo $( grep -o '\b[0-9a-z:]*[0-9]\b' )