sed專家的另一個問題。使用sed和正則表達式從字符串中提取數字
我有一個字符串表示一個路徑名,它將有兩個數字。一個例子是:
./pentaray_run2/Trace_220560.dat
我需要提取這些數字的第二個 - 用即220560
我有(從論壇一些幫助)能夠所有的數字提取在一起(即2220560) :
sed "s/[^0-9]//g"
或提取只與第一個數字:
sed -r 's|^([^.]+).*$|\1|; s|^[^0-9]*([0-9]+).*$|\1|'
但我AFTE什麼r是第二個數字!任何幫助非常感謝。
PS我以後的號碼總是字符串中的第二個數字。
偉大的作品一種享受。我猜這裏的_是否意味着在下劃線之後才能查找數字?在這種情況下,我總是可以期待一個下劃線,所以這將工作。表達式的哪一點實際上就是這樣。* _ Stackoverflow真的是一個非常棒的資源 - 我一直在困惑這個好幾個小時。出於興趣,你認爲有一種方法可以在最後使用\ 1 - 也許將所有數字(連續的數字)作爲子字符串提取並請求第二個數字。這對我和未來的其他人有用嗎? – Steven