2017-10-27 3 views
-1

awk/gawk를 사용하여 CSS 스타일 지정 속성을 수정하려고합니다. ? 예를 들어, 내가 어떻게 바로 재산 스타일 cta_grad을 변경합니다 : 나에게주는awk/gawk로 CSS 수정하기

gawk -i inplace 'EDIT right VALUE OF cta_grad TO 14px' style.css 

:

여기
.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는 뭔가 찾고있다

right: 14px; 

또한 속성 이름 자체를 변경하고 싶습니다. 예 : 변경 ~ 왼쪽. 뭔가 같이 :

gawk -i inplace 'CHANGE right PROPERTY OF cta_grad TO left' style.css 

것은 나에게주는 :

left: 34px; 

감사

+2

왜 awk에서 특별히 그렇습니까? 왜 테스트를 위해 inplace를 사용하고 있습니까? 너 스스로 어떤 시도라도 했니? – 123

+0

@ 123 gawk는 내가 사용하고있는 다른 코드와 잘 맞지만, 더 잘 작동한다면 sed를 사용하게되어 기쁩니다. 테스트를 위해 inplace를 사용하고 있지 않습니다. 다음을 사용하여 CSS 스타일을 제거/지울 수 있습니다 : gawk '/ ^}/{깃발 = ""}/cta_grad/{깃발 = 1; 인쇄} 다음 {다음} 플래그 1'style.css specific properties – friendlygiraffe

+0

그 코드는 여러분이하려는 것을 다루지 않으며 실제로 무엇을하는지 이해하지 않고 이전 질문으로부터 분명히 복사됩니다. – 123

답변

1

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 인식 도구를 사용합니다.