我愿意通过这样的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/