Команда tee [using>()] не работает, потому что она не поддерживается в sh (оболочка bourne).

То, чего я пытаюсь добиться, это посылать вывод «ifconfig -a» двум различным командам.

Это моя команда (что явно не правильно):

 ifconfig -a | egrep -o '255\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]' | egrep -o 'ff[[:xdigit:]]{6}'

Я пробовал другие варианты этой команды, в том числе возможность использовать тройник, но, похоже, она не работает из-за несовместимости с sh. Необходимо придерживаться самого низкого уровня конструкции, и поэтому я пытаюсь заставить его работать.

Я знаю, что по трубопроводу egrep -o '255. [0-9] {1,3}. [0-9] {1,3}. [0-9]« Я не получу ничего, кроме как по трубопроводу egrep -o 'ff [[:xdigit:]] {6}« Я получу необходимый вывод (моя маска сети; это хорошее регулярное выражение для маски сети), которая:

ff000000
fffff000

Я ожидаю, что он ничего не даст на первом канале и даст результат на втором канале, но для этого у обоих есть стандартный вывод "ifconfig -a".

Я надеюсь получить некоторую помощь. Я использую /bin /sh, во FreeBSD (10.1; Amazon EC2)

1 ответ1

1
ifconfig -a | egrep -o '255\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]|ff[[:xdigit:]]{6}'

Если вам также нужны результаты в определенном порядке, см. sort

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .