【发布时间】:2016-03-23 23:14:42
【问题描述】:
我必须从一个庞大的项目中删除所有字体系列 CSS 声明,有内联 CSS、SASS 和常规 CSS 文件。
我开始使用 grep 注释掉这些行,因为我觉得知道定义了什么字体会很有用。
我这样做的方法是在 Sublime 中搜索 font-family: 并使用 grep 替换我在 sublime 中找到的字符串,例如:将 font-family: Arial; 替换为 /* font-family: Arial; */。
整个网站大约有 4000 个 font-family 声明,我的计划是使用 grep 替换我在 Sublime 的前几百行中找到的所有 font-family: 声明,然后再次搜索仅找到那些没有评论。
像这样,grep 将处理大多数情况,并且我重复此过程的次数越多,未注释的字体声明就越少。
问题是我需要使用 sublime 或 linux 来搜索所有未注释的 font-family: 声明。或者换句话说,查找所有包含此字符串且前面没有 /* 的文件。
有什么想法吗?还是替代解决方案?
这是我使用的 grep 命令以防万一有人需要它:
grep -rli 'font-family:Helvetica,Arial,sans-serif;' * | xargs -i@ sed -i 's/font-family:Helvetica,Arial,sans-serif;/\/* font-family:Helvetica,Arial,sans-serif; *\//g' @
【问题讨论】:
-
如果您发布了一些您想要更改的行会有所帮助。
-
例如,我想查找所有“font-family:”但忽略前面有注释标记的任何结果,忽略所有这样的:“/* font-family:”。所以找到所有未注释的字体系列声明。
-
我正在检查 Sublime 正则表达式,如果我找到方法会回复。
标签: linux replace find sublimetext2