如何在 awk 或 sed 中编写查找所有函数(使用正则表达式)
我有运行 python 的 bash 函数(它从标准输入返回所有找到的正则表达式)
function find-all() {
python -c "import re
import sys
print '\n'.join(re.findall('$1', sys.stdin.read()))"
}
当我使用这个正则表达式 find-all 'href="([^"]*)"'
我如何在sed或awk中编写它?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议您使用
grep -o
。例如:
更新
如果您要从 html 文件中提取 href 属性,请使用以下命令:
您可以使用
cut
和提取值>sed
像这样:但是为了可靠性,你最好使用 html/xml 解析器。
I suggest you use
grep -o
.E.g.:
Update
If you were extracting href attributes from html files, using a command like:
You could extract the values by using
cut
andsed
like this:But you'd be better off using html/xml parsers for reliability.
这是一个 gawk 实现(未使用其他 awks 进行测试):
find_all.sh
然后:
输出:
将
i=0
更改为i=1
如果您只想打印捕获的组。使用i=0
,即使模式中没有括号,您也会得到输出。Here's a gawk implementation (not tested with other awks):
find_all.sh
Then:
outputs:
Change
i=0
toi=1
if you only want to print the captured groups. Withi=0
you'll get output even if you have no parentheses in your pattern.