我有一大堆CSS文件可以通过在一些子网站上对各种核心样式表进行更改来哼唱。显然,如果原始开发人员有一些远见,他们只需要包含一个主样式表并覆盖必要的元素......
我首先开始使用comm
认为它可以解决这个问题,但很快发现它需要接收一个已排序的输入文件。
然后我切换到diff
并通过一些阅读和research得到了以下内容:
diff --unchanged-group-format="@@ %dn,%df%c'\012'%<" --old-group-format='' --new-group-format='' --changed-group-format='' file_1.css file_2.css
前一个显然几乎存在,但是:
A)我需要查看@@
行(这应该没问题,对吧?乍一看,这看起来是正确的,但是diff
会抛出任何其他行意外的线条需要被拉扯?)然后
B)我需要再创建两个文件,首先是file_1.css中剩余的唯一行,然后是file_2.css的剩余唯一行。
显然,第一个“共同”文件将进入一个包含文件夹,然后作为@import url("common.css");
我认为以下简单的更改将创建我所指的后两个文件:
diff --unchanged-group-format='' --old-group-format="@@ %dn,%df%c'\012'%<" --new-group-format='' --changed-group-format='' file_1.css file_2.css
diff --unchanged-group-format='' --old-group-format='' --new-group-format="@@ %dn,%df%c'\012'%<" file_1.css file_2.css
例如,在执行以下测试时:
diff --unchanged-group-format="@@ %dn,%df%c'\012'%<" --old-group-format='' --new-group-format='' --changed-group-format='' file_1.css file_2.css | egrep -v "^@@\d*" > common.css
diff --unchanged-group-format='' --old-group-format="@@ %dn,%df%c'\012'%<" --new-group-format='' --changed-group-format='' file_1.css file_2.css | egrep -v "^@@\d*" > old.css
然后使用body
搜索egrep "^body" *css
,common.css
只生成一个正文,而old.css
只生成一个正文,而它显示file_1.css
中有两个不同的条目{1}}和file_2.css
。显然这种方法存在缺陷。
如何创建最终成为常见包含和覆盖文件的这两个文件?
答案 0 :(得分:0)
@ylluminate,您有几个选择:
如果我的文件少于50个,我会选择选项1。
希望这有帮助。
PS:我与BeyondCompare没有任何联系。只是一个快乐的软件用户