как выполнить sed для того, чтобы напечатать строку до ";" персонаж
echo "NUMBER = 3247 FULL DUPLEX ; speed=343 434 " | sed .....
нужен следующий вывод
НОМЕР = 3247 ПОЛНЫЙ ДУПЛЕКС
Почему бы тебе не использовать awk для этого? то есть
echo "Number = 3247; speed = 343 434" | awk {'print $ 1'}
И если вам действительно нужно "впереди, используйте
echo "Number = 3247; speed = 343 434" | awk {'print "\" "$ 1'}
РЕДАКТИРОВАТЬ: После обратной связи (см. Комментарии ниже), здесь правильная версия с sed:
echo "NUMBER = 3247 FULL DUPLEX; скорость = 343 434 "| sed 's /\;.*// g'
использование
awk
с-F
чтобы указать разделитель полей:Обратите внимание, что точка с запятой экранируется с помощью обратной косой черты, поэтому ваша оболочка не будет неправильно интерпретировать точку с запятой как конец команды.
источник