gpt4 book ai didi

linux - 通过 'tr' 或 'sed' 命令删除网页文件中的注释或注释

转载 作者:太空宇宙 更新时间:2023-11-04 03:52:34 24 4
gpt4 key购买 nike

我愿意通过这样的Linux命令来压缩HTML文件。

tr -d "\n\t\r"

但是如何从网络文件中删除评论或注释。

例如,

<! -- adcdefg -->

<% -- asdfasdf -- %>

/* asdfasdfasdf */

我只是想消除这样的评论。

最佳答案

尝试(但要小心,它很容易删除太多内容,因此请先备份您的文件)

对于<! -- adcdefg -- ><% -- asdfasdf -- % > ( < 之后没有空格)

sed 's/<[!%][^>]*>//g' YourFile

说明

模式<[!%][^>]*>

  • 开始于 <
  • 后跟!% (使用类 [!%] )
  • 后跟任何非 > char(以^开头的类表示“不是其中之一”,*表示任何出现的情况,包括0)所以[^>]*是否出现任何非 >
  • 后跟>

行动s/Pattern//g

  • 将模式替换为空(// 是替换模式,内部空无一物,因此会删除搜索模式)
  • g选项用于指定该行中的所有出现,而不仅仅是第一个(默认情况下)

对于/* blabla */它有点热,因为它可能在里面和几行上包含很多东西。您应该给出一些假设以避免出现巨大的不可读的 sed ;-)

在这两种情况下,任何包含结束分隔符的字符串都会导致这样的基本 sed 出现问题

关于linux - 通过 'tr' 或 'sed' 命令删除网页文件中的注释或注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25780368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com