这是我的文件,其中每一行如下所述:
<a href="abc.com" aria-label="abc ofe" class="abc"><span class="bcd">abc</span><span class="icon"></span></a>
这是预期的输出:
href="abc.com"
aria-label="abc ofe"
class="abc"
class="bcd"
class="icon"
这是我得到的:
awk '{for(i=1; i<=NF;++i)printf "%s%s", $i, (i 给我: 尝试在双引号之前获取“属性”字符串
和双引号之间的“属性值”字符串。 对于 macOS 需要使用 awk 或 sed。echo "<a href="abc.com" aria-label="abc ofe" class="abc"><span class="bcd">abc</span><span class="icon"></span></a>" | awk '{for(i=1; i<=NF; ++i)printf "%s%s", $i, (i<NFi?FS:(i<NF?"\n":RS))}'
<a
href=abc.com
aria-label=abc
ofe
class=abc><span
class=bcd>abc</span><span
class=icon></span></a>
最佳答案
根据显示的示例,您可以尝试执行以下 awk
代码。简单的解释是,将 RS(记录分隔符)设置为不同的值(由输出中所需的 OP 显示),然后打印相应的值。
awk -v RS='href="[^"]*"|aria-label="[^"]*"|class="[^"]*"' 'RT{print RT}' Input_file
关于awk - 如何使用 awk 或 sed 从 HTML 代码中获取所有属性名称和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68961360/