【发布时间】:2013-11-18 12:59:33
【问题描述】:
我在一个目录中有 100 个 html 文件
我需要从每个匹配正则表达式的文件中打印一行,同时打印两个正则表达式之间的行。
下面的命令正确地提供了结果
sed -n '/string1/p' *.html >result.txt
sed -n '/string2/,/string3/p' *.html > result2.txt
但我需要它们在一个 result.txt 文件中,格式为
string1
string2
string3
我一直在尝试使用 grep、awk 和 sed 并搜索过,但我没有找到答案。
任何帮助将不胜感激。
【问题讨论】:
-
我不太明白。你有两个不同的问题? 1) 打印每个匹配正则表达式 1 的 *.html 行和 2) 打印每个 *.html 中匹配 2 个正则表达式的行之间的行?但是您想为每个 X.html 将这些输出合并到一个 X.txt 中吗? (你能用 Perl/Python 吗?)
-
理想情况下,我想使用一行 sed,查看每个文件并打印匹配正则表达式的字符串和 2 个正则表达式之间的字符串。然后将输出发送到 result.txt,这样我就可以从 100 个文件中得到 100 行 string1 string2 string3
标签: sed