Regex SED-从HTML标记中删除属性
我想从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
预期产出:
我的代码:
sed's/name=“.*”//g'对于您展示的样本,请尝试以下内容。用GNUawk
编写和测试
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个字符,其中带有匹配正则表达式值的空格
第二种解决方案:检查条件如果行从所示样本的开始,请尝试以下操作。用GNUawk
编写和测试
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'