JSON 값이 포함된 파일이 있습니다.
abc={"adf": "def", "abc2":"def2", "abc3" : "def3" }
abc4= 1
abc = {hello : world, hello:"a"}
{
다른 곳이 아닌 중간 어디에서나 공백을 제거하고 싶습니다
}
. 제 경우에는 값에 공백이 없습니다.
abc={"adf":"def","abc2":"def2","abc3":"def3"}
abc4= 1
abc = {hello:world,hello:"a"}
sed, awk, perl 또는 기타 도구를 사용하여 이를 어떻게 달성할 수 있습니까?
참고: 모든 값은 한 행에만 있습니다. 다중 라인 처리가 필요하지 않습니다.
답변1
Ugly Perl 한 줄짜리(Perl v5.24.1용):
$ perl -pe 's/{.*?}/ $& =~ s, ,,gr /eg' input
abc={"adf":"def","abc2":"def2","abc3":"def3"}
abc4= 1
abc = {hello:world,hello:"a"}
외부 바꾸기( s///
)는 중괄호로 묶인 문자열을 일치시키고 s,,,
일치하는 문자열에 대해 또 다른 바꾸기( )를 수행하여 해당 문자열을 바꿉니다.