Bash 解析并提取所有HTML标记

Bash 解析并提取所有HTML标记,bash,unix,awk,sed,Bash,Unix,Awk,Sed,我需要为用户解析和提取所有以开头的HTML标记。如果你找不到帐号,那就找一个。一旦您有了要使用的帐户,请继续操作。 您能否使用awk或sed命令帮助我仅打印/记录子字符串,包括? 输出应该是 @Varun:试试: awk '{gsub(/<a href=|"|>/,"");print}' Input_file awk'{gsub(/”和“然后打印行的值。@Varun:Try: awk '{gsub(/<a href=|"|>/,"");print}' Inpu

我需要为用户解析和提取所有以
开头的HTML标记。如果你找不到帐号,那就找一个。一旦您有了要使用的帐户,请继续操作。

您能否使用
awk
sed
命令帮助我仅打印/记录子字符串,包括
? 输出应该是

@Varun:试试:

awk '{gsub(/<a href=|"|>/,"");print}'   Input_file
awk'{gsub(/”和“然后打印行的值。

@Varun:Try:

awk '{gsub(/<a href=|"|>/,"");print}'   Input_file

awk'{gsub(/”和“然后打印行的值。

您可以执行以下操作:

sed-n's/*\(]*>\)./\1/p'

此sed使用
n
标志,这会导致sed在默认情况下不打印任何内容,在此之后,我们使用替换命令查找指定的正则表达式并将其替换为第一个捕获组,然后使用
p
修饰符打印此正则表达式

在正则表达式中,我们查找第一个出现的


如果标签中有另一个
,则此操作无效。

您可以执行以下操作:

sed-n's/*\(]*>\)./\1/p'

此sed使用
n
标志,这会导致sed在默认情况下不打印任何内容,在此之后,我们使用替换命令查找指定的正则表达式并将其替换为第一个捕获组,然后使用
p
修饰符打印此正则表达式

在正则表达式中,我们查找第一个出现的



如果您的标签中有另一个
,则此操作不起作用。

更新上述输入所需的准确输出以及您自己解决此问题的努力已相应更改帖子更新上述输入所需的准确输出以及您自己解决此问题的努力已相应更改帖子Hi Ravinder,感谢您的提示回复ponse。该命令未打印所需的字符串。以下是一行的内容。

@瓦伦:请将示例输入文件和预期输出与代码标记一起发布到您的实际帖子中,就像没有代码标记一样。这一点不清楚。对于混乱的Ravinder,很抱歉。这是我在stackoverflow中的第一篇帖子,仍在尝试理解规则和代码标记。Hi Ravinder,感谢您的及时响应。该命令没有打印所需的s字符串。这是一行的内容。

@瓦伦:请将示例输入_文件和预期输出与代码标记一起发布到您的实际帖子中,就像没有代码标记一样。这一点不清楚。很抱歉出现了混乱。这是我在stackoverflow中的第一篇帖子,仍在尝试理解规则和代码标记。嗨,redxef,很抱歉,我遇到了一些行的问题,这些行有多个Add the

 g
修饰符(代表全局)到命令末尾(在p之后)。这将在一行中匹配多个出现的模式。抱歉,这将不起作用,因为
*
的贪婪正则表达式扩展谢谢。有什么解决方法吗?一种方法涉及
tr
,只需将每个逗号替换为换行符,这使sed命令起作用:
cat sample.csv | tr',\n'| sed-n's/*\(]*>\)./\1/p'
Hi redxef,很抱歉,我遇到了一些行的问题,这些行在命令末尾(p之后)添加了
g
修饰符(代表全局)。这将在一行中匹配多个出现的模式。抱歉,这将不起作用,因为
*
的贪婪正则表达式扩展谢谢。有什么解决方法吗?一种方法涉及
tr
,只需将每个逗号替换为换行符,这使sed命令起作用:
cat sample.csv | tr',\n'| sed-n's/*\(]*>\)./\1/p'