Как передать команду программе, открытой в оболочке?

Я игнорирую тот факт, что это может быть лучше сделано в PHP (поскольку это то, с чем вы работаете) с использованием функций PHP для обработки строк, возможно, с помощью чего-то вроде $ addr = strtoupper (str_replace (":", "", $ output)) . Вместо этого я сосредоточусь на решении оболочки для Unix.

Использование Awk:

awk 'BEGIN { RS=":"; ORS = "" } { print toupper }' <<<"$mac_address"

Тестирование:

$ mac_address="xx:yy:zz:k7:23:f0"
$ awk 'BEGIN { RS=":"; ORS = "" } { print toupper }' <<<"$mac_address"
XXYYZZK723F0

Программа Awk считывает каждую часть MAC-адреса как отдельную запись (в противном случае запись обычно представляет собой строку ввода) и распечатывает их без разделителя записей ( в противном случае разделителем выходной записи по умолчанию является новая строка). Перед печатью каждой записи он преобразует ее в верхний регистр.

1
22.09.2016, 22:55
0 ответов

Теги

Похожие вопросы