Kolejne pytanie dla ekspertów sed.Wyodrębnij liczby z ciągu za pomocą sed i wyrażeń regularnych
Mam ciąg reprezentujący ścieżkę, która będzie zawierać dwie liczby. Przykładem jest:
./pentaray_run2/Trace_220560.dat
muszę wyodrębnić drugi z tych numerów - czyli 220560
mam (z niewielką pomocą forów) udało się wyodrębnić wszystkie numery razem (tzn 2220560) z :
sed "s/[^0-9]//g"
lub wyodrębnić tylko pierwszy numer z:
sed -r 's|^([^.]+).*$|\1|; s|^[^0-9]*([0-9]+).*$|\1|'
ale co jestem afte r jest drugą liczbą !! Każda pomoc doceniona.
PS numer, który widzę jest zawsze drugą liczbą w ciągu znaków.
Świetne robią smakołyki. Domyślam się, że tam oznacza szukanie liczb tylko po podkreśleniu? W tym przypadku zawsze mogę oczekiwać podkreślenia, więc to zadziała. To, co jest faktycznym fragmentem wyrażenia, to znaczy. * _ Stackoverflow naprawdę jest tak fantastycznym zasobem - zastanawiałem się nad tym przez wiele godzin. Ciekawe, czy jest jakiś sposób na użycie \ 1 na końcu - może wyodrębnić wszystkie liczby (ciągłe cyfry) jako podłańcuchy i poprosić o drugi. Może to być przydatne dla mnie i innych osób w przyszłości? – Steven