gpt4 book ai didi

python - 如何在 awk 或 sed 中编写查找所有函数(使用正则表达式)

转载 作者:行者123 更新时间:2023-11-28 22:06:26 25 4
gpt4 key购买 nike

我有运行 python 的 bash 函数(从标准输入返回所有找到的正则表达式)

function find-all() {
python -c "import re
import sys
print '\n'.join(re.findall('$1', sys.stdin.read()))"
}

当我使用这个正则表达式时 find-all 'href="([^"]*)"' < index.html它应该从正则表达式返回第一组(文件 index.html 中 href 属性的值)

我如何在 sed 或 awk 中写这个?

最佳答案

我建议你使用 grep -o

-o, --only-matching
Show only the part of a matching line that matches PATTERN.

例如:

$ cat > foo
test test test
test
bar
baz test
$ grep -o test foo
test
test
test
test
test

更新

如果您从 html 文件中提取 href 属性,使用如下命令:

$ grep -o -E 'href="([^"]*)"' /usr/share/vlc/http/index.html
href="style.css"
href="iehacks.css"
href="old/"

可以使用cutsed 提取值,如下所示:

$ grep -o -E 'href="([^"]*)"' /usr/share/vlc/http/index.html| cut -f2 -d'=' | sed -e 's/"//g'
style.css
iehacks.css
old/

但是为了可靠性,您最好使用 html/xml 解析器。

关于python - 如何在 awk 或 sed 中编写查找所有函数(使用正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3707625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com