내가 안에 다음 파일을 가지고 있다고 가정 해 봅시다. 전체 라인을하지만 -sed - 특정 기호 다음에 문자열에 따옴표를 붙입니다.
size=large
color=red
나는 red
따옴표를 배치하고 싶습니다.
어떻게 color
의 값에만 안부에 =
기호 다음에 무엇이든 주위에 따옴표를 넣어 나오지도 사용할 수 있지만, 수 있습니까?
내 시나리오에서 색상의 실제 값이 다를 수 있으므로 동적이어야합니다.
내가 안에 다음 파일을 가지고 있다고 가정 해 봅시다. 전체 라인을하지만 -sed - 특정 기호 다음에 문자열에 따옴표를 붙입니다.
size=large
color=red
나는 red
따옴표를 배치하고 싶습니다.
어떻게 color
의 값에만 안부에 =
기호 다음에 무엇이든 주위에 따옴표를 넣어 나오지도 사용할 수 있지만, 수 있습니까?
내 시나리오에서 색상의 실제 값이 다를 수 있으므로 동적이어야합니다.
대체 color=
을 사용해보십시오. 아무것도 부분 주위에 따옴표를 추가
sed -E "s/(color=)(.*)/\1'\2'/"
내가 -E
와 정규식을 확장 활성화 그래서 모두 캡처 그룹 주위에 괄호를 탈출 할 필요가 없습니다.
아무것도 다음과 같은 명령
sed "s/=(.*)$/='\1'/"
* 기본 * 정규식을 사용하는 경우 괄호에서 벗어나야합니다 (예 : 'sed "s/= \ (. * \) $/= '\ 1'/") –
또한 "color"로 시작하는 줄뿐만 아니라 모든 줄에 대입을 수행합니다. –
나는 그룹을 역 참조하기 위해'$ 1'과'$ 2' 대신'\ 1'과'\ 2'를 사용해야한다고 생각합니다. – Indent
당신은 완전히 맞습니다, 고마워요! –
alternate :'sed '/ color/s/[^ =] * $/\ x27 & \ x27 /'' – Sundeep