使用 awk 导出 CSS 规则
Exporting CSS Rules with awk
我正在尝试使用 awk 从 css 文件导出 css 规则,但我做不到。我只需要包含 "background-image" 行的规则。
#rule{
...
background-image: url(path);
}
这是我目前尝试过的方法:
awk '/^[#].*{.*background-image.*/','/}/' css/file.css
我做错了什么?
此刻我得到了最好的结果:
/^[#A-Za-z.]/ { accum = 1; }
accum == 1 { css = css [=13=] "\n"; }
accum == 1 && /background-image/ { found = 1; }
/\}/ { accum = 0; if (found == 1) print css; found = 0; css = ""; }
它允许我获得包含所有选择器的完整块
匹配左大括号后打开累积。标志打开时累积所有行。看到右括号后关闭。仅当在累积过程中找到背景图像时才打印。如果你想在比赛前加入几行,你可以这样做。
{ line4 = line3; line3 = line2; line2 = line1; line1 = [=10=] "\n"; }
/\{/ { accum = 1; head = line4 line3 line2 line1; }
accum == 1 { css = css [=10=] "\n"; }
accum == 1 && /background-image/ { found = 1; }
/\}/ {
accum = 0;
if (found == 1) print head css;
found = 0; css = "";
}
你在评论中说过 "I need the full block from # (or . ) to }" 但我的印象是你真的只是想要这个。
/\{/ { selector = [=11=] }
/background-image/ { print selector "\n" [=11=] "\n}\n" }
我正在尝试使用 awk 从 css 文件导出 css 规则,但我做不到。我只需要包含 "background-image" 行的规则。
#rule{
...
background-image: url(path);
}
这是我目前尝试过的方法:
awk '/^[#].*{.*background-image.*/','/}/' css/file.css
我做错了什么?
此刻我得到了最好的结果:
/^[#A-Za-z.]/ { accum = 1; }
accum == 1 { css = css [=13=] "\n"; }
accum == 1 && /background-image/ { found = 1; }
/\}/ { accum = 0; if (found == 1) print css; found = 0; css = ""; }
它允许我获得包含所有选择器的完整块
匹配左大括号后打开累积。标志打开时累积所有行。看到右括号后关闭。仅当在累积过程中找到背景图像时才打印。如果你想在比赛前加入几行,你可以这样做。
{ line4 = line3; line3 = line2; line2 = line1; line1 = [=10=] "\n"; }
/\{/ { accum = 1; head = line4 line3 line2 line1; }
accum == 1 { css = css [=10=] "\n"; }
accum == 1 && /background-image/ { found = 1; }
/\}/ {
accum = 0;
if (found == 1) print head css;
found = 0; css = "";
}
你在评论中说过 "I need the full block from # (or . ) to }" 但我的印象是你真的只是想要这个。
/\{/ { selector = [=11=] }
/background-image/ { print selector "\n" [=11=] "\n}\n" }