Regex SED-从HTML标记中删除属性

Regex SED-从HTML标记中删除属性,regex,awk,sed,Regex,Awk,Sed,我想从HTML标记中删除一个特定属性(在我的示例中是名称),该属性可能位于文件中每一行的不同位置 输入示例: 预期产出: 我的代码: sed's/name=“.*”//g'对于您展示的样本,请尝试以下内容。用GNUawk编写和测试 awk '/^<img/ && match($0,/src.*/){print substr($0,1,4),substr($0,RSTART,RLENGTH)}' Input_file awk '/^<img/{sub(/nam

我想从HTML标记中删除一个特定属性(在我的示例中是名称),该属性可能位于文件中每一行的不同位置

输入示例:


预期产出:


我的代码:


sed's/name=“.*”//g'对于您展示的样本,请尝试以下内容。用GNU
awk
编写和测试

awk '/^<img/ && match($0,/src.*/){print substr($0,1,4),substr($0,RSTART,RLENGTH)}' Input_file
awk '/^<img/{sub(/name="[^"]*" /,"")} 1' Input_file
说明:

第一种解决方案:使用
awk的匹配功能
从src到最后一行进行匹配,并打印前4个字符,其中带有匹配正则表达式值的空格


第二种解决方案:检查条件如果行从所示样本的
开始,请尝试以下操作。用GNU
awk
编写和测试

awk '/^<img/ && match($0,/src.*/){print substr($0,1,4),substr($0,RSTART,RLENGTH)}' Input_file
awk '/^<img/{sub(/name="[^"]*" /,"")} 1' Input_file
说明:

第一种解决方案:使用
awk的匹配功能
从src到最后一行进行匹配,并打印前4个字符,其中带有匹配正则表达式值的空格


第二种解决方案:检查行是否从
开始,您的
sed
表达式是否匹配到行中最后一个
的文本。它必须已

sed 's/ name="[^"]*"//g'

您的
sed
表达式与行中最后一个
之前的文本匹配。一定是

sed 's/ name="[^"]*"//g'