두 개의 특정 문자열 사이의 텍스트 바꾸기

두 개의 특정 문자열 사이의 텍스트 바꾸기

더 이상 사용되지 않는 CSS 값 "hspace"가 있는 파일이 많고 이를 다른 CSS 스타일 값으로 변경하고 싶습니다. 예를 들면 다음과 같습니다.

hspace='5'

우리는 다음과 같이 변경하고 싶습니다.

style="margin: 0 5px;"

각 파일은 내부에 서로 다른 값을 가지며 hspace, 하나는 hspace='5'다른 값일 수 있습니다 hspace='2'.hspace='7'

내가 원하는 것은 특정 디렉토리의 모든 파일에서 찾는 것입니다.

hspace='ANY NUMBER'

다음으로 교체하세요:

style="margin: 0 5px;"

bash centos os에서 이 작업을 수행하라는 제안이 있습니까?

답변1

다음 명령을 사용하여 교체할 수 있습니다( sedCentOS에 있는 GNU를 가정).

sed -i "s/hspace='\([0-9]*\)'/style=\"margin: 0 \1px;\"/g" filename.html

모든 .html 파일을 바꾸려면 다음을 수행하십시오.

find . -type f -name '*.html' -exec sed -i "s/hspace='\([0-9]*\)'/style=\"margin: 0 \1px;\"/g" {} +

관련 정보