通过' tr删除网络文件中的评论或注释。或者' sed'命令

时间:2014-09-11 06:17:08

标签: linux sed tr

我愿意通过Linux命令压缩HTML文件。

tr -d "\n\t\r"

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

例如,

<! -- adcdefg -->

<% -- asdfasdf -- %>

/* asdfasdfasdf */

我只是想消除这些评论。

1 个答案:

答案 0 :(得分:0)

尝试(但是要很容易删除太多,所以先备份你的文件)

代表<! -- adcdefg -- ><% -- asdfasdf -- % ><之后没有空格)

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

<强>释

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

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

行动s/Pattern//g

  • 替换模式没有任何内容(//是替换模式,内部没有任何内容,因此删除搜索模式)
  • g选项用于指定该行的所有出现,而不仅仅是第一个(默认情况下)

/* blabla */它有点热,因为它可能包含很多内部和几行内容。你应该给出一些假设,以避免一个巨大的不可兑换的sed; - )

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

出现问题