我正在尝试使用awk / gawk修改指定CSS样式的属性。例如,如何更改样式cta_grad的正确属性?
.cta_grad {
cursor: pointer;
cursor: hand;
position: absolute;
bottom: 38px;
right: 34px;
width: 77px;
height: 29px;
overflow: hidden;
background-image: url("images/cta_grad.png");
}
这是我正在寻找的bash:
gawk -i inplace 'EDIT right VALUE OF cta_grad TO 14px' style.css
给我:
right: 14px;
另外,我想更改属性名称本身,例如:从右向左更改。就像是:
gawk -i inplace 'CHANGE right PROPERTY OF cta_grad TO left' style.css
给我:
left: 34px;
谢谢
最佳答案
用awk
实现的一种非鲁棒方法是
$ awk -v k="right:" '$1==k{sub(k,"left:")}1' file
.cta_grad {
cursor: pointer;
cursor: hand;
position: absolute;
bottom: 38px;
left: 34px;
width: 77px;
height: 29px;
overflow: hidden;
background-image: url("images/cta_grad.png");
}
$ awk -v k="right:" '$1==k{sub($2,"14px;")}1' file
.cta_grad {
cursor: pointer;
cursor: hand;
position: absolute;
bottom: 38px;
right: 14px;
width: 77px;
height: 29px;
overflow: hidden;
background-image: url("images/cta_grad.png");
}
但最好使用支持CSS的工具。