用途:在项目间迁移样式、复制组件样式、在不覆盖与不冲突的前提下新增 CSS 规则,以及把样式改用另一套 CSS 变量。
主要能力:提供一套系统化追加流程。先读取源 CSS,记录目标选择器、所用 CSS 变量与完整规则集;再读取目标 CSS,用 grep 检查选择器与变量是否已存在,识别冲突与命名约定;随后对比确定缺失样式与变量映射,例如把 --panel-bg 映射为 --background-secondary;准备适配后的 CSS 内容后,用追加操作写入,绝不覆盖。
必要用法:追加前记录行数 BEFORE=$(wc -l < /path/to/destination/styles.css);使用 cat >> 目标文件 << 'EOF' 追加,避免使用 >。验证时不仅看行数差与 tail -n 30,还要对每个新追加的选择器逐一 grep,例如 grep -n ".selector-name" /path/to/destination/styles.css || echo "MISSING: .selector-name";选择器较多时用循环收集缺失项,任一缺失即报错退出。
适用场景:跨项目样式迁移、组件样式复用、增量补充已有选择器缺失属性、统一变量体系。
限制与注意:wc -l 即使行被截断也会增加,tail 只能靠肉眼发现截断,因此必须逐选择器 grep。过长行、内嵌 SVG 或 data URI 在 heredoc 中可能被静默截断,建议先写入临时文件再用 cat tmpfile >> dest.css,然后照常 grep 验证。还需避免重复选择器、确认变量在目标文件中存在。