有沒有辦法在shell中使用awk
命令打印正則表達式匹配(但僅匹配字符串)?如何使用`awk`打印正則表達式匹配?
33
A
回答
40
是的,在awk
使用match()
函數,並給它一個可選的數組參數(在我的例子中爲a
)。當你這樣做時,第0個元素將是匹配的正則表達式
$ echo "blah foo123bar blah" | awk '{match($2,"[a-z]+[0-9]+",a)}END{print a[0]}'
foo123
17
的awk
特定的(而不是一個使用gawk
)實現解決方案的一部分:
$ echo "blah foo123bar blah" | awk 'match($0,/[a-z]+[0-9]+/) {print substr($0,RSTART,RLENGTH)}'
foo123
1
我用這種構造頗有幾分:
split(substr($0, match($0, /[0-9]+ [Bb]ytes/)), a, " ");
print a[1];
相關問題
- 1. 如何使用awk打印匹配的正則表達式模式?
- 2. 打印匹配正則表達式
- 3. 打印Perl正則表達式匹配
- 4. 如何從正則表達式中拉出/打印匹配,並且只匹配正則表達式的匹配?
- 5. AWK正則表達式匹配
- 6. 如何在awk中使用正則表達式來匹配ASTERISK
- 7. 使用正則表達式的不可打印字符匹配
- 8. Perl正則表達式 - 打印匹配的條件正則表達式
- 9. Perl如果正則表達式匹配A而不是正則表達式匹配B打印
- 10. 使用awk打印正則表達式組的長度
- 11. 使用awk檢測正則表達式並按行打印?
- 12. 使用正則表達式的Javascript正則表達式匹配
- 13. 如何在awk中打印正則表達式?
- 14. 正則表達式使用awk gensub()不匹配
- 15. 蟒蛇打印正則表達式匹配產生空列表
- 16. 如何在Erlang中使用正則表達式匹配正則表達式?
- 17. 匹配或使用正則表達式
- 18. 匹配使用正則表達式
- 19. 匹配正則表達式...使用C#
- 20. 正則表達式匹配使用JavaScript
- 21. 使用正則表達式匹配
- 22. 匹配使用正則表達式
- 23. 匹配使用正則表達式
- 24. 匹配使用正則表達式
- 25. 正則表達式匹配使用JQuery
- 26. 使用正則表達式匹配Paiousheses
- 27. JavaScript匹配使用正則表達式
- 28. 匹配使用正則表達式
- 29. 匹配.PHP使用正則表達式
- 30. 正則表達式匹配
我知道的grep -o,它必須是在AWK :) – Istvan 2011-03-29 00:03:16
@lstvan看到更新 – SiegeX 2011-03-29 00:05:21
好極了,這正是我需要的,塔NKS! – Istvan 2011-03-29 08:45:17