将结束斜杠添加到<input ...>,因此它看起来像<input ... />

jyr*_*and 0 regex shell sed

我需要为缺少此项的所有输入标记添加结尾斜杠.而不是

<input id="1" class="hello"> 
Run Code Online (Sandbox Code Playgroud)

我会得到:

<input id="1" class="hello" /> 
Run Code Online (Sandbox Code Playgroud)

如何使用sed或其他一些bash工具执行此操作?

anu*_*ava 5

建议不要使用正则表达式解析和替换HTML.但是如果你想要一个快速的基于shell的解决方案,下面的sed命令应该工作:

sed '/<input /s#\([^/]\)>#\1/>#' file
Run Code Online (Sandbox Code Playgroud)

/>当前面没有斜杠时才会放置.

PS:请记住,您的HTML输入标记应该完全在一行中.