Próbuję wyodrębnić czas z ciągu znaków za pomocą basha i trudno mi go rozgryźć.Wyodrębnianie podłańcuchów za pomocą wyrażeń regularnych w zwykłym bashu
Mój łańcuch jest tak:
US/Central - 10:26 PM (CST)
I chcę, aby wyodrębnić 10:26
część.
Ktoś wie, jak to zrobić tylko z bashem - bez użycia sed, awk, etc?
Podobnie jak w PHP użyłbym - nie jest najlepszym sposobem, ale działa - coś takiego:
preg_match(""(\d{2}\:\d{2}) PM \(CST\)"", "US/Central - 10:26 PM (CST)", $matches);
Dzięki za pomoc, nawet jeśli odpowiedź używa sed lub awk
Cool! Czy jest szansa, że użyję również łącznika "-" we wzorze? ponieważ grep zwraca kilka dopasowań i interesuje mnie tylko ten, który ma łącznik, a następnie spację, a następnie czas ... – andrux
Post edytowane odpowiednio –
Dodano inne rozwiązanie –