Я пытаюсь извлечь время из строки с помощью bash, и мне трудно это понять.
Моя строка такая:
US/Central - 10:26 PM (CST)
И я хочу извлечь эту 10:26
часть.
Кто-нибудь знает способ сделать это только с помощью bash - без использования sed, awk и т.д.?
Например, в PHP я бы использовал - не лучший способ, но он работает - что-то вроде:
preg_match( ""(\d{2}\:\d{2}) PM \(CST\)"", "US/Central - 10:26 PM (CST)", $matches );
Спасибо за любую помощь, даже если в ответе используется sed или awk
sed
версия, но я хотел предупредить других, чтоsed
не обязательно использовать+
модификатор. Один из способов обойти{1, }
эту проблему - использовать модификатор для соответствия одному или нескольким.источник
-n
затем снова запрашиваете печать с помощью/p
? Разве это не то же самое, что опустить-n
флаг и опустить/p
директиву? Спасибо.Быстрый и грязный, без регулярных выражений, малонадежный метод измельчения и измельчения
источник
| read zone dash time apm zone
тоже работаетЕсли ваша строка
затем
сделаю свою работу.
источник
cut -c14-18
конечно, только до тех пор, пока позиция персонажа не меняется. чего не должно происходить, если часовой пояс фиксирован.