SED - 从 HTML 标记中删除属性

1 regex awk sed

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

输入示例:

<img name="something_random_for_each_tag" src="https://websiteurl.com/286.jpg" alt="img">
Run Code Online (Sandbox Code Playgroud)

预期输出:

<img src="https://websiteurl.com/286.jpg" alt="img">
Run Code Online (Sandbox Code Playgroud)

我的代码:

sed 's/name=".*"//g' <<< '<img name="something_random_for_each_tag" src="https://websiteurl.com/286.jpg" alt="img">'
Run Code Online (Sandbox Code Playgroud)

但它只表明<img >,我也失去了 src 属性

笔记:

  1. name 属性可以位于标签中的任何位置(不一定在开头)
  2. 你可以使用 sed、awk、Perl 或任何你喜欢的东西,它应该在命令行上工作

M. *_*din 5

您的sed表达式与该"行的最后一个文本相匹配。一定是

sed 's/ name="[^"]*"//g'
Run Code Online (Sandbox Code Playgroud)