
노선을 바꾸려고 하는데
"['Used', 170], <c\!--Ma_P_ST1_vCPU_Used-->"
그리고
"['Used', 555], <c\!--Ma_P_ST1_vCPU_Used-->"
html 파일에서.
내가 시도한 것은 다음과 같습니다.
sed "s/['Used', 170], <\!--Ma_P_ST1_vCPU_Used-->/['Used', 170], <\!--Ma_P_ST1_vCPU_Used-->/" Code_edit.html
여러 방패를 시도했습니다. 도움이 안돼.
답변1
sed
따옴표로 묶어야 하는 특별한 의미를 가진 일부 문자가 있습니다 .
이 문장에 대하여:
['Used', 170], <\!--Ma_P_ST1_vCPU_Used-->
[
, ]
및 다음을 인용해야 합니다 \
.
\['Used', 170\], <\\\!--Ma_P_ST1_vCPU_Used-->
그런 다음 숫자 주위의 텍스트를 캡처하려면 캡처 괄호를 추가하세요.
\(\['Used', \)170\(\], <\\\!--Ma_P_ST1_vCPU_Used-->\)
그리고 그것을 (숫자 목록) 170
으로 변환합니다. [0-9]*
이 작업을 수행한 후 sed 명령은 다음과 같습니다.
sed "s/\(\['Used', \)[0-9]*\(\], <\\\!--Ma_P_ST1_vCPU_Used-->\)/\1777\2/" <file
각 괄호에 캡처된 문자열을 \1
사용합니다 .\2
답변2
이것이 도움이 됩니까?
sed '/!--Ma_P_ST1_vCPU_Used-->/ s/170/555/' file
"['Used', 555], <c\!--Ma_P_ST1_vCPU_Used-->"
올바른 줄을 검색하고 170을 555로 바꿉니다.