0
A
回答
2
使您想要的部分與捕獲組匹配,然後用整個後向引用替換整行。
echo "fooBar-5.3.8-78642.zip" | sed -r 's/.*\.([0-9]+-[0-9]+)\.zip$/\1/'
1
爲了得到一個統一的,便攜的解決方案(將所有sed
實現工作)使用基於Basic Regular Expression (BRE)以下方法:
echo "fooBar-5.3.8-78642.zip" | sed 's/.*\([[:digit:]]\+\-[[:digit:]]\+\)\.zip$/\1/'
基本正則表達式(BRE)是默認sed(同樣在 grep)
----------------------------------------------- -----------------使用awk
語言
第二簡單的替代(沒有正則表達式):
echo fooBar-5.3.8-78642.zip | awk -F"." '{print $3}'
-F"."
- .
這裏被視爲場分離器
$3
- 指向第三個字段即8-78642
----------------------------------------------- -----------------
而最後簡單而快速的方法是使用cut
命令:
echo "fooBar-5.3.8-78642.zip" | cut -d'.' -f3
輸出(對於每個以上方法):
8-78642
相關問題
- 1. 用sed提取字符串
- 2. 使用Sed提取部分字符串
- 3. 提取使用sed命令
- 4. 提取值=使用SED
- 5. 如何只用grep提取子和數字/ sed的
- 6. 如何在OS X上使用sed提取子字符串?
- 7. 如何使用sed提取分隔符之間的字符?
- 8. 如何使用SED提取字符串多個params中,awk的
- 9. 使用sed提取HTML標記數據
- 10. 使用sed,awk或grep提取數據
- 11. Sed提取數字:如何用一個空格替換非數字字符?
- 12. 使用sed/grep/awk從流中提取數字
- 13. 使用SED提取兩個字符串之間的數據
- 14. 使用sed來取代數字
- 15. 如何提取使用字符或單詞SED之間的一組字符串
- 16. 使用sed從字符串中提取子字符串
- 17. 用sed來提取匹配數
- 18. 提取文本使用的sed
- 19. 使用sed提取CentOS鏡像域名
- 20. 多子提取使用的sed
- 21. 提取R摘要使用sed
- 22. 提取特定的詞使用的sed
- 23. 提取整串用的sed
- 24. 的sed:如何提取含有結腸
- 25. 的sed:如何提取的價值
- 26. 如何使用grep/regex/cut/awk/sed等提取drbd狀態
- 27. 如何提取與特定的柱,使用AWK線或sed的
- 28. 如何使用sed以指定的順序提取行?
- 29. 使用sed和正則表達式從字符串中提取數字
- 30. 如何使用sed從字符串中的特定點提取文本?
如果該值在變量中,則使用shell的內置字符串替換opera發電機會更加高效和優雅。 '頭= $ {值%的.zip};值= $ {#頭* [!0-9]}' – tripleee