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

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

더 이상 사용되지 않는 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 운영 체제에서 이를 수행하는 방법에 대한 제안 사항이 있습니까?

답변1

이 명령을 사용하여 바꿀 수 있습니다( sedGNU가 CentOS에 있다고 가정).

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" {} +

관련 정보